openapi: 3.0.1 info: version: 1.0.0 title: Authorization Tokens Accounts Performance API description: 'Use the `oauth` endpoint to generate the secure, time-limited JSON Web Tokens (JWTs) used to authorize access to APIs and components.

To request a token, click Authorize and enter the following credentials: * Username - Your Client ID. * Password - Your Client Secret.' servers: - url: https://www.us-api.morningstar.com/token description: PROD US - url: https://www.emea-api.morningstar.com/token description: PROD EMEA - url: https://www.apac-api.morningstar.com/token description: PROD APAC security: - BasicAuth: [] tags: - name: Performance paths: /portfolioanalysis/v1/performance: post: tags: - Performance summary: Calculate portfolio performance description: Calculate performance for portfolios specified in the request body.

To override the default value in the Accept-Language HTTP header, use the `langcult` parameter. operationId: calculatePortfolioPerformance parameters: - name: langcult in: query description: Language and locale used for the response. Defaults to en-US. required: true schema: type: string default: en-US enum: - en-US - en-CA - en-AU - en-GB requestBody: $ref: '#/components/requestBodies/RequestPerformance' responses: '200': $ref: '#/components/responses/ResponsePerformance' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/OutputErrorResponse' examples: General - BadRequest Response: summary: General BadRequest value: '{"Message": "The request is invalid.","SpecificErrorStatus": [ {"ErrorCode": "40015","ErrorMessage": "Portfolio does not have any valid holdings. Invalid portfolio name: TestPortfolio1. Invalid Holdings: TradingSymbol:DODGX1."}]}' DisableRescaleTrue - BadRequestResponse: summary: DisableRescale BadRequest value: '{"Message": "The request is invalid.","SpecificErrorStatus": [ {"ErrorCode": "40059","ErrorMessage": "There are holdings present in portfolio which are invalid.","Metadata": {"InvalidPortfolios": [{ "Name": "Test Portfolio","InvalidHoldings": [{"SecurityId": "FX000015JA3","Status": "Invalid"},{"SecurityId": "F00000YZ48","Status": "Unentitled"}]}]}}]}' /direct-web-services/time-series/v1/performance/12-mo-yield/{ids}: get: tags: - Performance summary: Get 12-Month Yield time series. description: An expression of the amount paid out in distributions (pre-tax) by the investment in the last 12 months expressed as a percentage of the previous month end price. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX,EX$$$$AIMX,,EXTP$$$AMM - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformance12MoYield /direct-web-services/time-series/v1/performance/7-day-gross-yield/{ids}: get: tags: - Performance summary: Get 7-Day Gross Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformance7DayGrossYield /direct-web-services/time-series/v1/performance/7-day-unsubsidized-yield/{ids}: get: tags: - Performance summary: Get 7-Day Unsubsidized Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformance7DayUnsubsidizedYield /direct-web-services/time-series/v1/performance/7-day-yield/{ids}: get: tags: - Performance summary: Get 7-Day Yield time series. description: A figure calculated using the formula under Item 26. (a) (1) of SEC Form N-1A to reflect the expenses net of subsidies of management fee waiver or reimbursement. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformance7DayYield /direct-web-services/time-series/v1/performance/aggregated-12-month-yield/{ids}: get: tags: - Performance summary: Get Aggregated 12-Month Yield time series. description: The asset-weighted and rescaled aggregation of the 12 month yield of eligible holdings within a fund's portfolio. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceAggregated12MonthYield /direct-web-services/time-series/v1/performance/aggregated-sec-yield/{ids}: get: tags: - Performance summary: Get Aggregated Sec Yield time series. description: The asset-weighted and rescaled aggregation of the SEC yield of eligible holdings within a fund's portfolio. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceAggregatedSecYield /direct-web-services/time-series/v1/performance/cum-fair-nav-unweighted-dri/{ids}: get: tags: - Performance summary: Get Cum Fair NAV Unweighted Dri time series. description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceCumFairNavUnweightedDri /direct-web-services/time-series/v1/performance/cum-fair-nav-weighted-dri/{ids}: get: tags: - Performance summary: Get Cum Fair NAV Weighted Dri time series. description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price. Index values are available daily back to inception. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceCumFairNavWeightedDri /direct-web-services/time-series/v1/performance/cumulative-return/{ids}: get: tags: - Performance summary: Get Cumulative Return time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE - name: performanceType in: query description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only. schema: type: string enum: - total - market - gross default: total example: total - name: annualDays in: query description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only. schema: type: number default: 365.25 example: '365' - name: annualized in: query description: Specifies whether the calculation results should be annualized. Used with calculated data points only. schema: type: boolean example: true - name: preCurrency in: query description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only. schema: type: string example: USD - name: requireContinueData in: query description: Specifies whether continuous data is required for calculations. Used with calculated data points only. schema: type: boolean example: 'true' - name: stepSize in: query description: Specifies the step size for rolling or iterative calculations. Used with 'rolling-return' data point only. For example, `stepSize=12` and `frequency=monthly` 12-month rolling values are calculated. schema: type: number default: 1 example: '12' responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceCumulativeReturn /direct-web-services/time-series/v1/performance/current-yield/{ids}: get: tags: - Performance summary: Get Current Yield time series. description: Annual income (interest or dividends) divided by the current price of the security. This measure looks at the current price of a bond instead of its face value and represents the return an investor would expect if he or she purchased the bond and held it for a year. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceCurrentYield /direct-web-services/time-series/v1/performance/daily-bid-price/{ids}: get: tags: - Performance summary: Get Daily Bid Price time series. description: The highest price a market maker will pay to purchase a specified number of shares of a mutual fund at any given time. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyBidPrice /direct-web-services/time-series/v1/performance/daily-closing-price/{ids}: get: tags: - Performance summary: Get Daily Closing Price time series. description: Closing price generally refers to the last price at which a stock trades during a regular trading session. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyClosingPrice /direct-web-services/time-series/v1/performance/daily-estimated-holding-cost/{ids}: get: tags: - Performance summary: Get Daily Estimated Holding Cost time series. description: The Estimated Holding Cost calculation uses the daily NAV and total return benchmark returns from the Tracking Error calculation. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyEstimatedHoldingCost /direct-web-services/time-series/v1/performance/daily-gross-return-index/{ids}: get: tags: - Performance summary: Get Daily Gross Return Index time series. description: The daily account balance estimate that was experienced by an investor who purchased 1 share of separate account on inception date. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyGrossReturnIndex /direct-web-services/time-series/v1/performance/daily-high-price/{ids}: get: tags: - Performance summary: Get Daily High Price time series. description: High price generally refers to the highest price at which a stock trades during a regular trading session. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyHighPrice /direct-web-services/time-series/v1/performance/daily-load-adj-return-index-restated/{ids}: get: tags: - Performance summary: Get Daily Load Adj Return Index Restated time series. description: Return calculated by load-adjustment methodology (refer to methodology paper for details) parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyLoadAdjReturnIndexRestated /direct-web-services/time-series/v1/performance/daily-low-price/{ids}: get: tags: - Performance summary: Get Daily Low Price time series. description: Low price generally refers to the lowest price at which a stock trades during a regular trading session. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyLowPrice /direct-web-services/time-series/v1/performance/daily-market-impact-cost/{ids}: get: tags: - Performance summary: Get Daily Market Impact Cost time series. description: Market Impact Cost is calculated as a fraction of the daily volatility in an ETF’s market price relative to its underlying value (as determined by the NAV). parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyMarketImpactCost /direct-web-services/time-series/v1/performance/daily-market-return-index/{ids}: get: tags: - Performance summary: Get Daily Market Return Index time series. description: The daily market price account balance that is experienced by an investor who purchased 1 share on inception date. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyMarketReturnIndex /direct-web-services/time-series/v1/performance/daily-net-return-index/{ids}: get: tags: - Performance summary: Get Daily Net Return Index time series. description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyNetReturnIndex /direct-web-services/time-series/v1/performance/daily-offer-price/{ids}: get: tags: - Performance summary: Get Daily Offer Price time series. description: The lowest price at which a market maker will sell a specified number of shares of a mutual fund at any given time. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyOfferPrice /direct-web-services/time-series/v1/performance/daily-ohlcv/{ids}: get: tags: - Performance summary: Get Daily OHLCV time series. description: Daily open, high, low, closing and volume price data parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesDailyOhlcv' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyOhlcv /direct-web-services/time-series/v1/performance/daily-portfolio-concentration/{ids}: get: tags: - Performance summary: Get Daily Portfolio Concentration time series. description: Portfolio Concentration is calculated by a linear regression of the ETF’s daily market returns on the daily returns of three risk factors calculated from Morningstar indexes. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyPortfolioConcentration /direct-web-services/time-series/v1/performance/daily-price/{ids}: get: tags: - Performance summary: Get Daily Price time series. description: The NAV price for the fund as of the performance date. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyPrice /direct-web-services/time-series/v1/performance/daily-return-index/{ids}: get: tags: - Performance summary: Get Daily Return Index (DRI) time series. description: The daily account balance experienced by an investor who purchased 1 share on inception date. The numbers do reflect any uninvested cash accrued to the account (such as future distributions and daily dividends). parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyReturnIndex /direct-web-services/time-series/v1/performance/daily-return-index-cum-fair/{ids}: get: tags: - Performance summary: Get Daily Return Index (DRI) Cum Fair time series. description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyReturnIndexCumFair /direct-web-services/time-series/v1/performance/daily-tracking-volatility/{ids}: get: tags: - Performance summary: Get Daily Tracking Volatility time series. description: Tracking Volatility is a measure of the day-to-day random variation in a fund portfolio versus its benchmark index. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyTrackingVolatility /direct-web-services/time-series/v1/performance/daily-volume/{ids}: get: tags: - Performance summary: Get Daily Volume time series. description: This is the number of shares or contracts traded for a security in one day. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyVolume /direct-web-services/time-series/v1/performance/daily-yield/{ids}: get: tags: - Performance summary: Get Daily Yield time series. description: This data point shows the yield on that day for interest rate index series where the data are expressed as per annum interest rates, also known as yields. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyYield /direct-web-services/time-series/v1/performance/dividend-yield-12-month/{ids}: get: tags: - Performance summary: Get Dividend Yield 12 Month time series. description: A financial ratio that indicates how much a fund's underlying holdings pay out in dividends each year relative to the net asset value of the fund. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDividendYield12Month /direct-web-services/time-series/v1/performance/dividend-yield-long/{ids}: get: tags: - Performance summary: Get Dividend Yield Long time series. description: A financial ratio that indicates how much a company pays out in dividends each year relative to its share price. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDividendYieldLong /direct-web-services/time-series/v1/performance/dividend-yield-short/{ids}: get: tags: - Performance summary: Get Dividend Yield Short time series. description: A financial ratio that indicates how much a company pays out in dividends each year relative to its share price. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDividendYieldShort /direct-web-services/time-series/v1/performance/estimated-quarterly-return/{ids}: get: tags: - Performance summary: Get Estimated Quarterly Return time series. description: 'Morningstar Estimated Performance for Hedge Funds: Quarterly returns for hedge funds that are calculated using public filings or financial statements of entities that own shares and interests in hedge funds.' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceEstimatedQuarterlyReturn /direct-web-services/time-series/v1/performance/estimated-share-class-net-flow-daily/{ids}: get: tags: - Performance summary: Get Estimated Share Class Net Flow Daily time series. description: Estimated Share Class Net Flow Daily is computed using yesterday's Total Net Assets, today's Total Net Assets, and the daily Total Return of the share class. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceEstimatedShareClassNetFlowDaily /direct-web-services/time-series/v1/performance/estimated-share-class-net-flow-monthly/{ids}: get: tags: - Performance summary: Get Estimated Share Class Net Flow Monthly time series. description: Estimated Share-Classs Level Net Flow Monthly is computed using beginning and ending monthly Total Net Assets and Monthly Total Return. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceEstimatedShareClassNetFlowMonthly /direct-web-services/time-series/v1/performance/ex-par-nav-unweighted-dri/{ids}: get: tags: - Performance summary: Get Ex Par NAV Unweighted DRI time series. description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceExParNavUnweightedDri /direct-web-services/time-series/v1/performance/ex-par-nav-weighted-dri/{ids}: get: tags: - Performance summary: Get Ex Par NAV Weighted DRI time series. description: Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceExParNavWeightedDri /direct-web-services/time-series/v1/performance/fund-size-comprehensive-daily/{ids}: get: tags: - Performance summary: Get Fund Size Comprehensive Daily time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceFundSizeComprehensiveDaily /direct-web-services/time-series/v1/performance/fund-size-comprehensive-monthly/{ids}: get: tags: - Performance summary: Get Fund Size Comprehensive Monthly time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceFundSizeComprehensiveMonthly /direct-web-services/time-series/v1/performance/fund-size-surveyed-daily/{ids}: get: tags: - Performance summary: Get Fund Size Surveyed Daily time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceFundSizeSurveyedDaily /direct-web-services/time-series/v1/performance/fund-size-surveyed-monthly/{ids}: get: tags: - Performance summary: Get Fund Size Surveyed Monthly time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceFundSizeSurveyedMonthly /direct-web-services/time-series/v1/performance/growth/{ids}: get: tags: - Performance summary: Get Growth time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE - name: initialInvestment in: query description: Specifies the initial value for calculations that require a starting point. For example initialValue=10000 sets the base value for index calculations. Used with the growth data point only. schema: type: number default: 10000 example: '10000' - name: performanceType in: query description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only. schema: type: string enum: - total - market - gross default: total example: total - name: annualDays in: query description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only. schema: type: number default: 365.25 example: '365' - name: preCurrency in: query description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only. schema: type: string example: USD - name: requireContinueData in: query description: Specifies whether continuous data is required for calculations. Used with calculated data points only. schema: type: boolean example: 'true' responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceGrowth /direct-web-services/time-series/v1/performance/income-only-yield-nav-uk/{ids}: get: tags: - Performance summary: Get Income Only Yield NAV UK time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceIncomeOnlyYieldNavUk /direct-web-services/time-series/v1/performance/income-only-yield-nav-us/{ids}: get: tags: - Performance summary: Get Income Only Yield NAV US time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceIncomeOnlyYieldNavUs /direct-web-services/time-series/v1/performance/income-only-yield-price-us/{ids}: get: tags: - Performance summary: Get Income Only Yield Price US time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceIncomeOnlyYieldPriceUs /direct-web-services/time-series/v1/performance/monthly-downside-tracking-error/{ids}: get: tags: - Performance summary: Get Monthly Downside Tracking Error time series. description: Downside tracking error is defined as the standard deviation of a fund's negative excess returns. In the context of exchange traded-funds, negative excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark, where the daily return of the exchange-traded fund was lower than that of its primary prospectus. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyDownsideTrackingError /direct-web-services/time-series/v1/performance/monthly-gross-return/{ids}: get: tags: - Performance summary: Get Monthly Gross Return time series. description: The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyGrossReturn /direct-web-services/time-series/v1/performance/monthly-inflation-adjusted-return/{ids}: get: tags: - Performance summary: Get Monthly Inflation Adjusted Return time series. description: A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyInflationAdjustedReturn /direct-web-services/time-series/v1/performance/monthly-load-adj-return-restated/{ids}: get: tags: - Performance summary: Get Monthly Load Adj Return Restated time series. description: Return calculated by load-adjustment methodology (refer to methodology paper for details) parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyLoadAdjReturnRestated /direct-web-services/time-series/v1/performance/monthly-market-return/{ids}: get: tags: - Performance summary: Get Monthly Market Return time series. description: A exchange-traded or closed-end fund's total return based on close market prices, as opposed to NAV. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyMarketReturn /direct-web-services/time-series/v1/performance/monthly-net-return/{ids}: get: tags: - Performance summary: Get Monthly Net Return time series. description: The return of Separate Account investment after deducting all expenses from the gross return generated by investment. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyNetReturn /direct-web-services/time-series/v1/performance/monthly-return/{ids}: get: tags: - Performance summary: Get Monthly Return time series. description: Expressed in percentage terms, Morningstar's calculation of total return is determined each month by taking the change in monthly net asset value, reinvesting all income and capital-gains distributions during that month, and dividing by the starting NAV. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyReturn /direct-web-services/time-series/v1/performance/monthly-return-unweighted-nav/{ids}: get: tags: - Performance summary: Get Monthly Return Unweighted NAV time series. description: The monthly return of the Peer Group Index (PGI), using a monthly rebalanced, equal-weighted average of the NAVs of the constituent funds of the PGI. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyReturnUnweightedNav /direct-web-services/time-series/v1/performance/monthly-return-unweighted-price/{ids}: get: tags: - Performance summary: Get Monthly Return Unweighted Price time series. description: The monthly return of the Peer Group Index (PGI), using a monthly rebalanced, equal-weighted average of prices of the constituent funds of the PGI. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyReturnUnweightedPrice /direct-web-services/time-series/v1/performance/monthly-return-weighted-nav/{ids}: get: tags: - Performance summary: Get Monthly Return Weighted NAV time series. description: The monthly return of the Peer Group Index (PGI), using a daily rebalanced, asset-weighted average of NAVs of the constituent funds of the PGI. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyReturnWeightedNav /direct-web-services/time-series/v1/performance/monthly-return-weighted-price/{ids}: get: tags: - Performance summary: Get Monthly Return Weighted Price time series. description: The monthly return of the Peer Group Index (PGI), using a daily rebalanced, asset-weighted average of prices of the constituent funds of the PGI. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyReturnWeightedPrice /direct-web-services/time-series/v1/performance/monthly-tracking-error/{ids}: get: tags: - Performance summary: Get Monthly Tracking Error time series. description: Tracking error is defined as the standard deviation of a fund's excess returns. In the context of exchange traded-funds, excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyTrackingError /direct-web-services/time-series/v1/performance/monthly-yield/{ids}: get: tags: - Performance summary: Get Monthly Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceMonthlyYield /direct-web-services/time-series/v1/performance/nav-unweighted-daily-income-and-capital-gain-yield/{ids}: get: tags: - Performance summary: Get NAV Unweighted Daily Income And Capital Gain Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavUnweightedDailyIncomeAndCapitalGainYield /direct-web-services/time-series/v1/performance/nav-unweighted-daily-income-only-yield/{ids}: get: tags: - Performance summary: Get NAV Unweighted Daily Income Only Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavUnweightedDailyIncomeOnlyYield /direct-web-services/time-series/v1/performance/nav-unweighted-daily-total-distribution-yield/{ids}: get: tags: - Performance summary: Get NAV Unweighted Daily Total Distribution Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavUnweightedDailyTotalDistributionYield /direct-web-services/time-series/v1/performance/nav-unweighted-dri/{ids}: get: tags: - Performance summary: Get NAV Unweighted DRI time series. description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI). parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavUnweightedDri /direct-web-services/time-series/v1/performance/nav-weighted-daily-income-and-capital-gain-yield/{ids}: get: tags: - Performance summary: Get NAV Weighted Daily Income And Capital Gain Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavWeightedDailyIncomeAndCapitalGainYield /direct-web-services/time-series/v1/performance/nav-weighted-daily-income-only-yield/{ids}: get: tags: - Performance summary: Get NAV Weighted Daily Income Only Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavWeightedDailyIncomeOnlyYield /direct-web-services/time-series/v1/performance/nav-weighted-daily-total-distribution-yield/{ids}: get: tags: - Performance summary: Get NAV Weighted Daily Total Distribution Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavWeightedDailyTotalDistributionYield /direct-web-services/time-series/v1/performance/nav-weighted-dri/{ids}: get: tags: - Performance summary: Get NAV Weighted DRI time series. description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI). parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceNavWeightedDri /direct-web-services/time-series/v1/performance/price/{ids}: get: tags: - Performance summary: Get Price time series. description: Get Price time series data. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE - name: performanceType in: query description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only. schema: type: string enum: - total - market - gross default: total example: total responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePrice /direct-web-services/time-series/v1/performance/price-unweighted-daily-income-and-capital-gain-yield/{ids}: get: tags: - Performance summary: Get Price Unweighted Daily Income And Capital Gain Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceUnweightedDailyIncomeAndCapitalGainYield /direct-web-services/time-series/v1/performance/price-unweighted-daily-income-only-yield/{ids}: get: tags: - Performance summary: Get Price Unweighted Daily Income Only Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceUnweightedDailyIncomeOnlyYield /direct-web-services/time-series/v1/performance/price-unweighted-daily-total-distribution-yield/{ids}: get: tags: - Performance summary: Get Price Unweighted Daily Total Distribution Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceUnweightedDailyTotalDistributionYield /direct-web-services/time-series/v1/performance/price-unweighted-dri/{ids}: get: tags: - Performance summary: Get Price Unweighted DRI time series. description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI). parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceUnweightedDri /direct-web-services/time-series/v1/performance/price-weighted-daily-income-and-capital-gain-yield/{ids}: get: tags: - Performance summary: Get Price Weighted Daily Income And Capital Gain Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceWeightedDailyIncomeAndCapitalGainYield /direct-web-services/time-series/v1/performance/price-weighted-daily-income-only-yield/{ids}: get: tags: - Performance summary: Get Price Weighted Daily Income Only Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceWeightedDailyIncomeOnlyYield /direct-web-services/time-series/v1/performance/price-weighted-daily-total-distribution-yield/{ids}: get: tags: - Performance summary: Get Price Weighted Daily Total Distribution Yield time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceWeightedDailyTotalDistributionYield /direct-web-services/time-series/v1/performance/price-weighted-dri/{ids}: get: tags: - Performance summary: Get Price Weighted Dri time series. description: The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI). parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformancePriceWeightedDri /direct-web-services/time-series/v1/performance/quarterly-downside-tracking-error/{ids}: get: tags: - Performance summary: Get Quarterly Downside Tracking Error time series. description: Downside tracking error is defined as the standard deviation of a fund's negative excess returns. In the context of exchange traded-funds, negative excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark, where the daily return of the exchange-traded fund was lower than that of its primary prospectus. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyDownsideTrackingError /direct-web-services/time-series/v1/performance/quarterly-gross-return/{ids}: get: tags: - Performance summary: Get Quarterly Gross Return time series. description: The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyGrossReturn /direct-web-services/time-series/v1/performance/quarterly-inflation-adjusted-return/{ids}: get: tags: - Performance summary: Get Quarterly Inflation Adjusted Return time series. description: A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyInflationAdjustedReturn /direct-web-services/time-series/v1/performance/quarterly-load-adj-return-restated/{ids}: get: tags: - Performance summary: Get Quarterly Load Adjusted Return Restated time series. description: Return calculated by load-adjustment methodology (refer to methodology paper for details) parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyLoadAdjReturnRestated /direct-web-services/time-series/v1/performance/quarterly-market-return/{ids}: get: tags: - Performance summary: Get Quarterly Market Return time series. description: A exchange-traded or closed-end fund's total return based on market prices, as opposed to NAV. Morningstar calculates the market-price return by taking the change in the fund's market price, reinvesting all income and capital-gains distributions during the period, and dividing by the starting market price. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyMarketReturn /direct-web-services/time-series/v1/performance/quarterly-net-return/{ids}: get: tags: - Performance summary: Get Quarterly Net Return time series. description: The return of Separate Account investment after deducting all expenses from the gross return generated by investment. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyNetReturn /direct-web-services/time-series/v1/performance/quarterly-return/{ids}: get: tags: - Performance summary: Get Quarterly Return time series. description: Total returns calculated for calendar quarters. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyReturn /direct-web-services/time-series/v1/performance/quarterly-tracking-error/{ids}: get: tags: - Performance summary: Get Quarterly Tracking Error time series. description: Tracking error is defined as the standard deviation of a fund's excess returns. In the context of exchange traded-funds, excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - quarterly type: string default: quarterly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuarterlyTrackingError /direct-web-services/time-series/v1/performance/quoted-yield-daily/{ids}: get: tags: - Performance summary: Get Quoted Yield Daily time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceQuotedYieldDaily /direct-web-services/time-series/v1/performance/raw-return-cum-fair/{ids}: get: tags: - Performance summary: Get Raw Return Cum Fair time series. description: The DRI series for the capital (dividends excluded) return of the share class parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceRawReturnCumFair /direct-web-services/time-series/v1/performance/raw-return-market-price/{ids}: get: tags: - Performance summary: Get Raw Return Market Price time series. description: The DRI series for the capital (dividends excluded) return of the share class parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceRawReturnMarketPrice /direct-web-services/time-series/v1/performance/raw-return-nav/{ids}: get: tags: - Performance summary: Get Raw Return NAV time series. description: The DRI series for the capital (dividends excluded) return of the share class parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceRawReturnNav /direct-web-services/time-series/v1/performance/return/{ids}: get: tags: - Performance summary: Get Return time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE - name: performanceType in: query description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only. schema: type: string enum: - total - market - gross default: total example: total - name: annualDays in: query description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only. schema: type: number default: 365.25 example: '365' - name: preCurrency in: query description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only. schema: type: string example: USD - name: requireContinueData in: query description: Specifies whether continuous data is required for calculations. Used with calculated data points only. schema: type: boolean example: 'true' responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceReturn /direct-web-services/time-series/v1/performance/rolling-return/{ids}: get: tags: - Performance summary: Get Rolling Return time series. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily - weekly - monthly - quarterly - annually type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE - name: performanceType in: query description: Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only. schema: type: string enum: - total - market - gross default: total example: total - name: annualDays in: query description: Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only. schema: type: number default: 365.25 example: '365' - name: annualized in: query description: Specifies whether the calculation results should be annualized. Used with calculated data points only. schema: type: boolean example: true - name: preCurrency in: query description: Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only. schema: type: string example: USD - name: requireContinueData in: query description: Specifies whether continuous data is required for calculations. Used with calculated data points only. schema: type: boolean example: 'true' - name: stepSize in: query description: Specifies the step size for rolling or iterative calculations. Used with 'rolling-return' data point only. For example, `stepSize=12` and `frequency=monthly` 12-month rolling values are calculated. schema: type: number default: 1 example: '12' - name: windowSize in: query description: Specifies the time interval between data points. schema: type: integer example: 6 maximum: 2147483647 minimum: 1 responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceRollingReturn /direct-web-services/time-series/v1/performance/sec-yield/{ids}: get: tags: - Performance summary: Get SEC Yield time series. description: A calculation based on a 30-day period ending on the last of the previous month. It is computed by dividing the net investment income per share earned during the period by the maximum offering price per share on the last day of the period. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceSecYield /direct-web-services/time-series/v1/performance/sec-yield-rescaling-factor/{ids}: get: tags: - Performance summary: Get SEC Yield Rescaling Factor time series. description: '' parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceSecYieldRescalingFactor /direct-web-services/time-series/v1/performance/sitca-yield/{ids}: get: tags: - Performance summary: Get SITCA Yield time series. description: SITCA Yield estimates a fund's annual income per share yield. For funds that issue monthly dividends, the most recent income distribution is multiplied by 12 and then divided by the fund's net asset value (NAV) as of the previous business day of ex-date. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - monthly type: string default: monthly - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceSitcaYield /direct-web-services/time-series/v1/performance/unannualized/{ids}: get: tags: - Performance summary: Get Unannualized time series. description: A tag indicating that the number is not annualized. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceUnannualized /direct-web-services/time-series/v1/performance/yearly-capital-return/{ids}: get: tags: - Performance summary: Get Yearly Capital Return time series. description: Rate of return over a holding period that is attributed to a change in the fund's capital value. This measure includes the change in the fund's NAV as well as all distributions that are classified as short-term capital gains, long-term capital gains, or return of capital. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyCapitalReturn /direct-web-services/time-series/v1/performance/yearly-gross-return/{ids}: get: tags: - Performance summary: Get Yearly Gross Return time series. description: The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyGrossReturn /direct-web-services/time-series/v1/performance/yearly-income-return/{ids}: get: tags: - Performance summary: Get Yearly Income Return time series. description: Income return is the portion of the holding period return that is attributed to dividend distributions. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyIncomeReturn /direct-web-services/time-series/v1/performance/yearly-inflation-adjusted-return/{ids}: get: tags: - Performance summary: Get Yearly Inflation Adjusted Return time series. description: A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyInflationAdjustedReturn /direct-web-services/time-series/v1/performance/yearly-interest-income/{ids}: get: tags: - Performance summary: Get Yearly Interest Income time series. description: Total interest income dividends paid by the fund in the calendar year. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyInterestIncome /direct-web-services/time-series/v1/performance/yearly-investor-return/{ids}: get: tags: - Performance summary: Get Yearly Investor Return time series. description: Morningstar® Investor Return™ (also known as dollar-weighted return) measures how the average investor fared in a fund over a period of time. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyInvestorReturn /direct-web-services/time-series/v1/performance/yearly-load-adj-return-restated/{ids}: get: tags: - Performance summary: Get Yearly Load Adj Return Restated time series. description: Return calculated by load-adjustment methodology (refer to methodology paper for details) parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyLoadAdjReturnRestated /direct-web-services/time-series/v1/performance/yearly-market-return/{ids}: get: tags: - Performance summary: Get Yearly Market Return time series. description: A exchange-traded or closed-end fund's total return based on market prices, as opposed to NAV. Morningstar calculates the market-price return by taking the change in the fund's market price, reinvesting all income and capital-gain distributions during the period, and dividing by the starting market price. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyMarketReturn /direct-web-services/time-series/v1/performance/yearly-net-return/{ids}: get: tags: - Performance summary: Get Yearly Net Return time series. description: The return of Separate Account investment after deducting all expenses from the gross return generated by investment. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyNetReturn /direct-web-services/time-series/v1/performance/yearly-return/{ids}: get: tags: - Performance summary: Get Yearly Return time series. description: Expressed in percentage terms, Morningstar's calculation of total return is determined each month by taking the change in monthly net asset value, reinvesting all income and capital-gains distributions during that month, and dividing by the starting NAV. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - annually type: string default: annually - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceYearlyReturn /direct-web-services/time-series/v1/performance/daily-open-price/{ids}: get: tags: - Performance summary: Get Daily Open Price time series. description: Open price generally refers to the stock price at the open of a trading session. parameters: - name: ids in: path description: "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID \n Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`." required: true schema: type: string example: 0P00000016,0P00002Y8D,DODGX,0P000000ppY - name: idTypes in: query description: ' Comma-separated list specifying the type of each value passed in the `ids` parameter.
Rules: * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value * Empty values default to `performanceId` Example: * `ids=id1,id2,id3` * `id1` and `id3` are performance IDs * `id2` is a security ID * `idTypes=,securityId` Accepted values: * `performanceId` (default) * `isin` * `securityId` * `cusip` * `tradingSymbol` * `msid`' schema: type: string example: ',securityId' - name: baseCurrency in: query description: ' Comma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).
* Filters results based on currency * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Base currency passed for `id2` and `id4` * `baseCurrency=,USD,,USD`' schema: type: string example: ',USD,,USD' - name: domicile in: query description: "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n* Filters results based on domicile\n* Values must align with the order of values in `ids`\n* Use empty entries to skip\n* Omit trailing commas after the last non-empty value\n\nExample:\n\n* `ids=id1,id2,id3,id4,id5`\n* Domicile passed for `id2` and `id4`\n* `domicile=,USA,,USA`" schema: type: string example: ',USD,,USD' - name: exchangeCountry in: query description: ' Comma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). * Filters results based on domicile * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange country passed for `id2` and `id4` * `exchangeCountry=,USA,,USA`' schema: type: string example: ',CAN,CAN' - name: exchangeId description: ' Comma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`). * Filters results based on exchange ID * Values must align with the order of values in `ids` * Use empty entries to skip * Omit trailing commas after the last non-empty value Example: * `ids=id1,id2,id3,id4,id5` * Exchange ID passed for `id2` and `id4` * `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`' in: query required: false schema: type: string example: EX$$$$XMEX - name: frequency in: query description: Specifies the time interval between data points. schema: enum: - daily type: string default: daily - name: startDate in: query description: 'Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2020-01-12' format: date - name: endDate in: query description: 'Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`. ' schema: type: string example: '2024-01-12' format: date - name: timePeriod in: query description: "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: number example: '12' - name: timePeriodUnit in: query description: "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence." schema: type: string enum: - months - days - years - name: applyEarliestCommonDate in: query description: "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned." schema: type: boolean default: false - name: applyTrackRecordExtension in: query description: ' Specifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment.' schema: type: boolean default: false - name: applyRestructureDate in: query description: ' Specifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period. This option is applicable only when `applyEarliestCommonDate` is set to true.' schema: type: boolean default: false - name: sinceInception in: query description: "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings." required: false schema: type: boolean default: false - name: currencyId in: query description: Specifies the currency in which to return data. schema: type: string enum: - BASE - AUD - BND - BRL - CAD - CHF - CLP - CNH - CNY - CZK - DKK - EUR - GBP - HKD - HUF - IDR - ILS - INR - JPY - KRW - MOP - MXN - MYR - NOK - NZD - PLN - RMB - RUB - SEK - SGD - THB - TWD - USD - ZAR default: BASE responses: '200': $ref: '#/components/responses/ResponseTimeSeriesSingleObservation' '400': $ref: '#/components/responses/ResponseStatus400' '500': $ref: '#/components/responses/ResponseStatus500' operationId: getPerformanceDailyOpenPrice /performance: post: tags: - Performance summary: Calculate portfolio performance description: Calculate performance for portfolios specified in the request body.

To override the default value in the Accept-Language HTTP header, use the `langcult` parameter. operationId: PerformanceV1_PostAsync parameters: - name: langcult in: query description: Language and locale, for example, en-US required: false schema: type: string default: en-US requestBody: content: application/json: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings' text/json: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings' application/xml: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings' text/xml: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings' description: Object that defines the settings and portfolio(s) to use in the request. required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances' text/json: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances' application/xml: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances' text/xml: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances' '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '500': description: Internal Server Error deprecated: false components: schemas: Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationItemKey: type: object properties: Id: format: int32 type: integer PortfolioName: type: string UseExtendedReturns: type: boolean Type: enum: - Portfolio type: string CorrelatedItemKey: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelatedItemKey' Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoCalculationSettings: description: Contains input parameters and their values used in the hypothetical calculations. type: object properties: HypoType: enum: - Portfolio - IndividualHoldings - HoldingsComparison - PortfolioComparison type: string FilingStatus: description: This parameter is used to set the tax status of the portfolios to be analyzed. enum: - NoTaxes - Single - MarriedFilingJointly - MarriedFilingSeparately - HeadOfHousehold - Registered - NonRegistered type: string TaxableIncome: format: double description: This is the amount of income subject to income taxes for the year, found by subtracting the appropriate deductions (IRA contributions, alimony payments, unreimbursed business expenses, some capital losses, etc.) from adjusted gross income. type: number PayTaxes: description: You can set the option to pay any taxes that are assessed either out of pocket (as if the taxpayer writes a check to pay for them) or by selling shares equal to the amount of taxes. enum: - OutOfPocket - SalesOfShares type: string FederalIncomeTaxRate: format: double description: The federal income tax rate assessed on incomes from the portfolio. This would be referred to as the Income Marginal Tax Rate for Canada. type: number CapitalGainTaxRate: format: double description: A tax assessed on profits realized from the sale of a capital asset, such as stock or fund. . This would be referred to as the Capital Gains Marginal Tax Rate for Canada. type: number StateIncomeTaxRate: format: double description: State income tax rate on incomes received from the portfolio. type: number DividendTaxRate: format: double description: Dividend tax rate on dividends received from the portfolio. Canada only. type: number IllustrationTrailingTimePeriod: description: This parameter determines the Illustration Time period��s start date and end date of the hypothetical illustration. Please be sure that start date and end date are set in accordance to the Illustration Time period value selected before sending the request to the Portfolio Analysis API. enum: - YearToDate - Year1 - Year3 - Year5 - Year10 - SinceInception - EarliestAvailable - EarliestCommon - Customized type: string StartDate: format: date-time description: Illustration Time period start date the Hypothetical illustration will be run. type: string EndDate: format: date-time description: Illustration Time period end date the Hypothetical illustration will be run. type: string SynchronizePortfolioStartDate: description: This will override the IllustrationTrailingTimePeriod to the EarliestCommon across all input portfolios. type: boolean InvestmentDetailReturnsFrequency: description: 'TODO: can this have a value of None? NO' enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string LiquidateOnEndDate: description: "When this is set to true, holdings are sold at month-end NAV/price and taxes will be applied.\r\n Note: This affects total returns because taxes are calculated based on the final market value of your investments and the tax rates specified in the Taxes section." type: boolean SubsequentInvestmentType: enum: - Invest - Withdrawal - WithdrawalPercentage type: string SubsequentInvestmentAmount: format: double description: This is the amount for the subsequent investment or withdrawal. It is invested or removed on a regular basis, according to SubsequentInvestmentWithdrawalFrequency value. type: number SubsequentInvestmentWithdrawalFrequency: description: "This parameter informs the Portfolio Analysis API how frequently to apply the subsequent investment or withdrawal, for example, if the frequency is quarterly, the subsequent amount will be applied every quarter after the initial investments. \r\n Note: subsequent amount is applied on the first month end in the frequency period. Also, None is not a valid value" enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string AssetBasedAnnualFee: format: double description: This parameter specifies the amount of the fee as a percentage. For example, if you want to apply a 1% fee, set this parameter to 1.00. For Australian Hypo this can be set as a dollar amount as well, depending on the Annual Fees Type. type: number AssetFeeFrequency: description: "TODO: can this have a value of None? NO\r\n This parameter specifies how often the asset based fees are to be applied. Asset-based fees are deducted as a percentage." enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string AssetFeeType: description: This parameter specifies the type of the annual fee amount as a percentage, or as a dollar amount. For example, if you want to apply a 1% fee, set this parameter to %. This option is available only in Australian Hypo. enum: - Amount - Percentage type: string PayFees: description: This parameter can be set to the option to pay any asset-based fees that are assessed either out of pocket (as if the client writes a check to pay for them), or by selling shares equal to the amount of the fees. enum: - OutOfPocketBeginning - OutOfPocketEnding - SalesOfSharesBeginning - SalesOfSharesEnding type: string PayFeesUseCashFirst: description: This parameter is applicable to Portfolio Illustrations only. If Pay Fees parameter is set to sale of shares, then this parameter can be set to true to specify that the application tap cash equivalents first before selling shares in the other securities on which annual fees are applied. type: boolean PortfolioAmountFee: format: double description: This parameter specifies the portfolio amount fee charged annually type: number FrontLoadType: description: This parameter specifies what sales fees are deducted from an investment upon purchase or sale. enum: - Standard - Custom - LetterOfIntent - None - CustomEntry - CustomExit type: string CustomFeeType: description: "TODO: Optional, and only affects FrontLoadType=Custom\r\n If Apply Fee Schedule parameter is set to Custom, this parameter specifies what type the value in custom fee parameter is, percentage or money amount." enum: - Amount - Percentage type: string SalesFeeAmount: format: double description: If Apply Fee Schedule parameter is set to Custom, this parameter specifies the amount of the custom fee. type: number ApplySalesCharge: description: For funds, deferred or redemption fees are applied to charge a fee to the investor upon redeeming shares. Deferred fees apply for most withdrawals, and redemption fees are deducted when you choose to liquidate the investment. Set this parameter to false if you do not want the standard deferred or redemption fees to be applied. type: boolean ApplyFeeForRebalance: description: Rebalance results in at least one sale and at least one buy. The sale may involve a fund that has a back-end charge and the buy may involve a fund that has a front-end charge. Any front-end charge that would normally be applied for the bought fund will be applied when this parameter is set to true. For example, if standard schedule is selected, the tool will apply whatever front-end charges would be applied for a buy on that schedule. On a sale, back-end charges that would normally be applied using the standard back-end schedule would be applied. If a custom schedule is selected, the tool will apply the custom % entered in the Custom Fees parameter as the same load as the fund. If this parameter is set to false, neither a front-end nor back-end charge for buys/sells due to rebalancing will be applied. type: boolean EntryExitFeeType: description: This parameter is applicable to Australian Hypo only. enum: - CustomEntry - CustomExit - None type: string RebalanceFrequency: description: This parameter specifies how often to rebalance your portfolio. enum: - Monthly - Quarterly - SemiAnnually - Annually - Biennially - None type: string RebalanceThreshold: format: double description: This parameter specifies a rebalance threshold that must be reached before the holdings are rebalanced. For example, if set it to 5, rebalancing will only take place if the allocation increases or decreases from the original setting by 5% or more for at least one security in the portfolio. type: number ReinvestDividends: description: "Set it to true to reinvest dividends and income distributions, or set it to false to not reinvest dividends and income distributions.\r\n For Australian Hypo,either set both ReinvestDividends and ReinvestCapitalGains to true, or both to false." type: boolean ReinvestCapitalGains: description: "Set it to true to reinvest capital gains distributions, or set it to false to not reinvest capital gains distributions.\r\n For Australian Hypo,either set both ReinvestDividends and ReinvestCapitalGains to true, or both to false.\r\n Note: If you choose not to reinvest, you may notice the Total Reinvestment, Taxes Paid, and Final Market Value of your portfolio decrease because you own fewer shares." type: boolean InputPerformancePerformanceView: description: Predefined set of data points to return in the response. type: object properties: Id: type: string description: Identifier of a predefined set of data points to return in the response. default: All enum: - All - CorrelationMatrix - CrossPortfolioCorrelation - Default - Snapshot Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInput: type: object properties: Type: enum: - Standard - AutoAsset - AutoCategory - Custom type: string Holdings: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInputHolding' OutputRiskCrossPortfolioCorrelatedItemKey: type: object properties: CorrelatedItemKeyId: type: integer format: int32 Type: type: string enum: - Portfolio Value: type: number format: double description: Correlation value between this portfolio and one other portfolio. OutputRiskSecurity.RiskStatisticsItem: type: object properties: Mean: type: number format: double description: Average return over the trailing period. SharpeRatio: type: number format: double description: Return in excess of the risk-free rate per unit of standard deviation. StandardDeviation: type: number format: double description: Statistical dispersion of returns around the mean. description: Risk statistics for an individual security. Year2 is not supported. Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturnSecurityItem: type: object properties: Sequence: format: int32 description: 'TODO: is this needed?' type: integer InceptionDate: format: date-time type: string SecurityId: type: string Date: format: date-time description: 'TODO: Is this field needed?' type: string HoldingValue: format: double type: number Percent: format: double description: 'TODO: Should this be named Percent or Weight?' type: number TimePeriods: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.IllustrationReturnTimePeriod_' OutputIdentifiers: title: OutputIdentifiers description: Specifies the identifier type used to specify the target investment in the request. additionalProperties: false properties: performanceId: type: string example: 0P00002CI5 isin: type: string example: US2562191062 securityId: type: string example: FCUSA0000P cusip: type: string example: 459200101 sedol: type: string example: B4TT7L5 tradingSymbol: type: string example: MDLOX OutputErrorResponse: type: object properties: Message: type: string example: The request is invalid. SpecificErrorStatus: type: array items: type: object properties: ErrorCode: type: string example: '40059' ErrorMessage: type: string example: There are holdings present in portfolio which are invalid. Metadata: type: object properties: InvalidPortfolios: type: array items: type: object properties: Name: type: string example: Test Portfolio InvalidHoldings: type: array items: type: object properties: SecurityId: type: string example: FX000015JA3 Status: type: string enum: - Invalid - Unentitled Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_: type: object properties: Id: enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string Value: format: double type: number OutputPerformanceStandardizedAndTaxAdjustedReturnsSecurity: type: object properties: Sequence: type: integer format: int32 description: Position of the security in the holdings array (1-based). SecurityId: type: string description: Morningstar unique identifier of the security. StandardizedReturns: $ref: '#/components/schemas/OutputPerformanceStandardizedReturns' description: Standardised return data for the security. AfterTaxReturns: $ref: '#/components/schemas/OutputPerformanceAfterTaxReturns' description: After-tax return data for the security. description: Standardised and after-tax return data for a single security. Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem: type: object properties: Mean: format: double type: number SharpeRatio: format: double type: number StandardDeviation: format: double type: number InformationRatio: format: double type: number TrackingError: format: double type: number SortinoRatio: format: double type: number ExcessReturn: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturnsSecurity: type: object properties: Sequence: format: int32 type: integer SecurityId: type: string StandardizedReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturns' AfterTaxReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.AfterTaxReturns' Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturn: type: object properties: CalendarYear: description: 1-10 to represent 10 most recent calendar years type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_' InputAssetClassGroupConfigs: description: Asset class group to query. type: object properties: AssetClassGroupConfig: type: array description: Asset class group identifier. Maximum of one value can be passed in a request. items: $ref: '#/components/schemas/InputAssetClassGroupConfig' Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate: type: object properties: EarliestCommonDate: format: date-time type: string EarliestAvailableDate: format: date-time type: string EarliestInceptionDate: format: date-time type: string OutputRiskCrossPortfolioCorrelationItemKey: type: object properties: Id: type: integer format: int32 Type: type: string enum: - Portfolio CorrelatedItemKey: type: array items: $ref: '#/components/schemas/OutputRiskCrossPortfolioCorrelatedItemKey' description: Correlation data for a single portfolio against all other portfolios in the request. Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistory: type: object properties: Type: enum: - Difference type: string Frequency: enum: - Monthly - Quarterly - SemiAnnually - Annually type: string StartDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistoryItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistoryItem' OutputRiskCorrelationMatrix: type: object properties: TrailingTimePeriod: type: string enum: - Year3 - Year5 - Year10 DataFrequency: type: string enum: - Monthly StartDate: type: string format: date-time EndDate: type: string format: date-time Correlations: type: array items: $ref: '#/components/schemas/OutputRiskCorrelationItemKey' description: Intra-portfolio correlation matrix for a single trailing time period. ResponseTimeSeriesDailyOhlcv: title: ResponseTimeSeriesDailyOhlcv readOnly: true description: List of investments for which time series data was returned. type: object additionalProperties: false properties: investments: type: array minItems: 1 items: $ref: '#/components/schemas/OutputInvestmentDailyOhlcv' metadata: $ref: '#/components/schemas/OutputMetadata' Morningstar.PortfolioAnalysis.Models.Output.SecurityItem: type: object properties: SecurityId: type: string CUSIP: type: string Name: type: string TradingSymbol: type: string BaseCurrency: enum: - MultipleCurrencies - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNY - COP - COU - CRC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHC - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MXV - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - ROL - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDD - SEK - SGD - SHP - SLL - SOS - SRD - STD - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - USS - UYU - UZS - VEF - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XBD - XCD - XDR - XFO - XFU - XOF - XPD - XPF - XPT - YER - ZAR - ZMK - ZWR type: string Type: enum: - BD - CT - CA - CASH - EI - FC - FE - FM - FO - FI - FV - SA - ST - VA - V1 - XI - SP type: string InceptionDate: format: date-time type: string SecurityReferenceTypes: type: array items: enum: - PortfolioHolding - BenchmarkHolding - RiskFreeIndex - DisclosureIndex - TopNetUnderlyingHolding - StockIntersection - InvalidSecurity type: string OutputDataItemPerformanceHistoryTimePeriod: type: object properties: Id: type: integer format: int32 description: Sequential period identifier (1-based). Value: type: number format: double description: Return value for the period. GrossValue: description: Gross value for the period. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double OutputPerformanceInvestmentActivity: type: object properties: DataFrequency: type: string enum: - Monthly description: Frequency of the investment activity data. Portfolio: type: array items: $ref: '#/components/schemas/OutputPerformanceInvestmentActivityItem' description: Portfolio investment activity records. Benchmark: type: array items: $ref: '#/components/schemas/OutputPerformanceBenchmark.InvestmentActivityItem' description: Benchmark investment activity records. description: Period-by-period investment activity for the portfolio and benchmark. Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfigs: type: object properties: AssetClassGroupConfig: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfig' Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturnsItem: type: object properties: StartYear: format: int32 type: integer StartMonth: format: int32 maximum: 12 minimum: 1 type: integer Data: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' OutputInvestmentDailyOhlcv: title: OutputInvestmentDailyOhlcv type: object additionalProperties: false properties: identifiers: $ref: '#/components/schemas/OutputIdentifiers' timeSeries: $ref: '#/components/schemas/OutputTimeSeriesDailyOhlcv' metadata: $ref: '#/components/schemas/OutputInvestmentsMetadata' Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturns: type: object properties: GrossExpenseRatio: format: double type: number InceptionDate: format: date-time type: string MaxBackLoad: format: double type: number MaxFrontLoad: format: double type: number NetExpenseRatio: format: double type: number ManagementExpenseRatio: format: double type: number TurnoverRatio: format: double type: number TurnoverRatioDate: format: date-time type: string Day7YieldUnsubsized: format: double type: number Day7YieldSubsidized: format: double type: number Month12Yield: format: double type: number TimePeriod: description: Year1,Year3,Year5,Year10,SinceInception only supported type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturnsTimePeriodItem' OutputPerformanceBestWorstTimePeriod: type: object properties: TimePeriod: type: string enum: - Month3 - Year1 - Year3 description: Time period identifier. Value: type: number format: double description: Return value for the time period. StartDate: type: string format: date-time description: Start date of the time period. description: Best or worst return value for a single trailing time period. Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceRequestSettings: type: object properties: OutputCurrency: enum: - AUD - CAD - CNY - EUR - GBP - INR - JPY - USD type: string RollingReturnFrequency: enum: - Month3 - Month6 - Year1 - Year3 - Year5 - Year10 type: string IncludePortfolioInCorrelationMatrix: type: boolean AssetClassGroupConfigs: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfigs' HypoCalculationSettings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoCalculationSettings' OutputMetadata: description: Metadata returned in response. Includes information about identifiers for which no results were found. title: OutputMetadata type: object properties: messages: $ref: '#/components/schemas/OutputMetadataMessages' requestId: description: Indicates the request identifier. example: c63e7f6c-b52d-42c3-9d1b-4a4b4ac05f3c type: string readOnly: true time: description: Indicates time response was returned. example: '2025-10-02T10:54:36.9161062Z' type: string format: date-time readOnly: true additionalProperties: false OutputPerformanceBenchmark.TrailingReturnsItem: type: object properties: TimePeriod: type: array items: $ref: '#/components/schemas/OutputDataItemBenchmarkTrailingTimePeriod' OutputPerformancePerformanceHistory: type: object properties: Type: type: string enum: - Difference - Portfolio - Benchmark description: 'Return series type: `Portfolio`, `Benchmark`, or `Difference` (portfolio minus benchmark).' Frequency: type: string enum: - Monthly - Quarterly description: Frequency of the return data points. StartDate: type: string format: date-time description: Start date of the performance history series. Portfolio: $ref: '#/components/schemas/OutputPerformancePerformanceHistoryItem' description: Performance history data for the portfolio. If a benchmark is included, the same structure is returned for the benchmark. description: A single performance history series (portfolio, benchmark, or difference). OutputPerformanceNonStdLoadAdjustedReturnsPortfolio: type: object properties: TimePeriod: type: array items: $ref: '#/components/schemas/OutputDataItemTimePeriod' description: Array of return values for each trailing time period. description: Portfolio non-standardised load-adjusted return values. Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceConfig: type: object properties: Id: description: this will look up the configuration settings type: string ReturnMethodology: enum: - QuickPortfolio - Hypothetical type: string OutputRiskCorrelatedItemKey: type: object properties: CorrelatedItemKeyId: type: integer format: int32 Type: type: string enum: - Portfolio - Security Value: type: number format: double description: Correlation value between this item and one other item in the matrix. RequestPerformance: description: Calculate performance for up to 2 portfolios. Maximum of 250 holdings per portfolio. required: - Portfolios - RequestSettings type: object properties: View: description: Predefined set of data points to return in the response. $ref: '#/components/schemas/InputPerformancePerformanceView' Config: description: Account-specific configuration preset. Settings can be overridden directly in the request. $ref: '#/components/schemas/InputPerformancePerformanceConfig' RequestSettings: description: Analysis settings for the request. $ref: '#/components/schemas/InputPerformancePerformanceRequestSettings' Portfolios: description: Array of portfolios to analyse. Maximum 2 portfolios per request. Maximum 250 holdings per portfolio. type: array items: $ref: '#/components/schemas/InputPortfolioInput' OutputPerformanceDate: description: Key performance date reference points for the portfolio. type: object properties: EarliestCommonDate: description: The earliest date for which all holdings in the portfolio have return data. type: string format: date-time EarliestAvailableDate: description: The earliest date for which any holding in the portfolio has return data. type: string format: date-time EarliestCommonExtendedDate: description: The earliest common date calculated using extended return history where available. type: string format: date-time EarliestCommonExtended10YearDate: description: The earliest common date within a 10-year window, calculated using extended return history where available. type: string format: date-time EarliestInceptionDate: description: The inception date of the most recently launched holding in the portfolio. type: string format: date-time OutputDataItemCalendarYearReturnTimePeriod: type: object properties: Id: type: integer format: int32 description: Calendar year sequence (1 = most recent year, up to 10). Value: type: number format: double description: Return value for the calendar year. GrossValue: description: Gross return value for the calendar year. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double description: Return value for a single calendar year. OutputPerformanceSecurityReturns.NonStdLoadAdjustedReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Security: type: array items: $ref: '#/components/schemas/OutputPerformanceNonStdLoadAdjustedReturnsSecurity' description: Array of per-security non-standardised load-adjusted return records. description: Non-standardised load-adjusted return data for each security in the portfolio. OutputPerformancePerformance: description: Performance result for a single portfolio. type: object properties: PortfolioName: description: Name of the portfolio. type: string PerformanceDate: description: Key performance date reference points for this portfolio. $ref: '#/components/schemas/OutputPerformanceDate' ReturnMethodology: description: Return methodology used in the calculation. type: string enum: - QuickPortfolio - Hypothetical Returns: description: Return data for the portfolio including trailing, calendar year, and investment activity. $ref: '#/components/schemas/OutputPerformanceReturns' Risks: description: Risk statistics for the portfolio including MPT statistics, correlation matrix, and drawdown. $ref: '#/components/schemas/OutputRiskRisks' OutputRiskRiskStatisticsSecurityItem: type: object properties: SecurityId: type: string description: Morningstar unique identifier of the security. Weight: type: number format: double description: Weight of the security as a percentage of the portfolio. RiskStatisticsItem: $ref: '#/components/schemas/OutputRiskSecurity.RiskStatisticsItem' description: Risk statistics for the security. description: Risk statistics for a single security in the portfolio. OutputPerformanceTrailingReturnsItem: type: object properties: TimePeriod: type: array items: $ref: '#/components/schemas/OutputDataItemTrailingTimePeriod' description: Array of return values for each trailing time period. description: Trailing return values across standard time periods. Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturns: type: object properties: RollingReturn: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturn' Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriods: type: object properties: AsOfDate: format: date-time type: string BestTimePeriod: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriod' WorstTimePeriod: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriod' Morningstar.PortfolioAnalysis.Models.Input.AssetClassConfig: type: object properties: Id: type: string Name: type: string Color: type: string BorderColor: type: string Index: type: string OutputInvestmentSingleObservation: title: OutputInvestmentSingleObservation type: object additionalProperties: false properties: identifiers: $ref: '#/components/schemas/OutputIdentifiers' timeSeries: $ref: '#/components/schemas/OutputTimeSeriesSingleObservation' metadata: $ref: '#/components/schemas/OutputInvestmentsMetadata' Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelatedItemKey: type: object properties: CorrelatedItemKeyId: format: int32 type: integer Type: description: 'TODO: we don''t want to manage names. Should this just be called CorrelationItemType?' enum: - Portfolio - Security type: string Value: format: double type: number OutputMetadataMessageInvestment: title: OutputMetadataMessageInvestment type: object additionalProperties: false properties: id: type: string description: Indicates identifier value passed in request. example: 0P000PPP6Q readOnly: true idType: type: string description: Indicates the identifier type passed in request. example: performanceId readOnly: true Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturnsItem: type: object properties: TimePeriod: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TrailingTimePeriod_' Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturnsSecurity: type: object properties: Sequence: format: int32 type: integer SecurityId: type: string HoldingDate: format: date-time type: string HoldingValue: format: double type: number Day7Yield: format: double type: number TimePeriod: description: Year1,Year3,Year5,Year10 only supported type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_' Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatistics: type: object properties: AsOfDate: format: date-time type: string TrailingTimePeriod: description: Only Year1, Year3, Year5, Year10 supported enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string DataFrequency: description: Only Monthly, Quarterly supported enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem' Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsSecurityItem' Morningstar.PortfolioAnalysis.Models.Output.Performance.Performance: type: object properties: PortfolioName: type: string PerformanceDate: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate' ReturnMethodology: enum: - QuickPortfolio - Hypothetical type: string Returns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Returns' Risks: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.Risks' OutputDataItemTimePeriod: type: object properties: Id: type: string enum: - YearToDate - Year1 - Year3 - Year5 - Year10 description: Trailing time period identifier. Value: type: number format: double description: Return value for the time period. OutputRiskRiskStatisticsItem: type: object properties: Mean: type: number format: double description: Average return over the trailing period. SharpeRatio: type: number format: double description: Return in excess of the risk-free rate per unit of standard deviation. StandardDeviation: type: number format: double description: Statistical dispersion of returns around the mean. InformationRatio: type: number format: double description: Active return relative to a benchmark per unit of tracking error. TrackingError: type: number format: double description: Standard deviation of excess returns relative to the benchmark. SortinoRatio: type: number format: double description: Return per unit of downside deviation. ExcessReturn: type: number format: double description: Return minus the 91-day government treasury bill return over the same period. description: Risk statistics for the benchmark over a single trailing time period. OutputRiskRisks: type: object properties: RiskStatistics: type: array items: $ref: '#/components/schemas/OutputRiskRiskStatistics' description: Array of risk statistics records, one per trailing time period. MPTStatistics: type: array items: $ref: '#/components/schemas/OutputRiskMPTStatistics' description: Array of MPT statistics records, one per trailing time period. CorrelationMatrix: type: array items: $ref: '#/components/schemas/OutputRiskCorrelationMatrix' description: Intra-portfolio correlation matrix data. Drawdown: $ref: '#/components/schemas/OutputRiskDrawdown' description: Portfolio drawdown data. description: Risk data for the portfolio including risk statistics, MPT statistics, correlation matrix, and drawdown. OutputRiskTimePeriods: type: object properties: id: type: string enum: - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 description: Trailing time period identifier. DrawdownItem: $ref: '#/components/schemas/OutputRiskDrawdownItem' description: Drawdown statistics for the time period. description: Drawdown statistics for a single trailing time period. DataModelSingleObservation: title: DataModelSingleObservation description: Represents a time series of single observations, where each entry contains a date and its corresponding value. type: object properties: date: type: string format: date example: '2025-09-06' value: type: number example: 1.108 ErrorResponse: title: ErrorResponse description: Defines the structure of an error response returned when a bad or invalid request is submitted. Includes the HTTP status code, descriptive message, and request identifier for traceability. type: object properties: statusCode: description: Numeric HTTP status code associated with the error. type: integer format: int32 example: 400 readOnly: true errorCode: description: Identifier for a specific type of error. type: string example: 400.timeSeries.009 readOnly: true message: type: string description: Descriptive message providing details about the error or validation failure. example: Invalid frequency 'm' for datapoint 'daily-closing-price'. readOnly: true requestId: description: Indicates unique request identifier. example: c63e7f6c-b52d-42c3-9d1b-4a4b4ac05f3c readOnly: true type: string additionalProperties: false OutputPerformanceBenchmark.InvestmentActivityItem: type: object properties: Sequence: type: integer format: int32 description: Sequential index of the period (1-based). StartDate: type: string format: date-time description: Start date of the period. EndDate: type: string format: date-time description: End date of the period. BeginningBalance: type: number format: double description: Benchmark value at the start of the period. MarketValue: type: number format: double description: Benchmark market value at the end of the period. description: Benchmark investment activity for a single period. Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturns: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturnsItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturnsItem' Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TrailingTimePeriod_: type: object properties: Id: enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationMatrix: type: object properties: TrailingTimePeriod: description: Only Year1, Year3, Year5, Year10 supported enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string DataFrequency: description: Only Monthly, Quarterly supported enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string StartDate: format: date-time type: string EndDate: format: date-time type: string Correlations: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationItemKey' OutputRiskCrossPortfolioCorrelationMatrix: type: object properties: TrailingTimePeriod: type: string enum: - Year3 - Year5 - Year10 description: Trailing time period over which correlations are calculated. DataFrequency: type: string enum: - Monthly description: Frequency of the return data used in the calculation. StartDate: type: string format: date-time description: Start date of the correlation period. EndDate: type: string format: date-time description: End date of the correlation period. Correlations: type: array items: $ref: '#/components/schemas/OutputRiskCrossPortfolioCorrelationItemKey' description: Array of correlation values between portfolios. description: Cross-portfolio correlation matrix for a single trailing time period. Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_: type: object properties: Id: type: string Value: format: double type: number ResponsePerformance: description: Top-level response object containing one result per portfolio analysed. type: object properties: PerformanceDate: description: Key performance date reference points across all portfolios in the request. $ref: '#/components/schemas/OutputPerformanceDate' Performance: description: Array of performance results, one per portfolio. type: array items: $ref: '#/components/schemas/OutputPerformancePerformance' CrossPortfolioCorrelationMatrix: description: Cross-portfolio correlation matrix data. Only returned when `View.Id` is `CrossPortfolioCorrelation`. type: array items: $ref: '#/components/schemas/OutputRiskCrossPortfolioCorrelationMatrix' SecurityReference: description: Reference data for all securities appearing in the response. type: array items: $ref: '#/components/schemas/OutputSecurityItem' Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturns: type: object properties: AsOfDate: format: date-time type: string Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturnsSecurity' OutputPerformancePerformanceHistorys: type: object properties: PerformanceHistory: type: array items: $ref: '#/components/schemas/OutputPerformancePerformanceHistory' description: Array of performance history series. description: Performance history data across one or more return series. Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInputHolding: description: 'TODO: Implement same way as PortfolioInput' required: - SecurityId - Weight type: object properties: SecurityId: type: string Type: enum: - XI - CA - EI - CASH type: string Weight: format: double type: number InputPortfolioInputHolding: description: 'Each holding requires a security identifier and a position size. For the identifier, pass one of: `SecurityId`, `CUSIP`, `FundCode`, `ISIN`, `PerformanceId`, or `TradingSymbol`. If multiple identifiers are provided for a single security, `SecurityId` takes priority; if `SecurityId` is absent, the last identifier listed in the object is used. For the position size, pass one of: `Weight` or `Value`.' type: object properties: SecurityId: description: Morningstar unique identifier of a security. Use `CASH%0.000` for cash positions. type: string example: FOUSA00DFS,CASH%0.000 Weight: description: Holding weight as a percentage of portfolio total. All holding weights must sum to 100. Requires `TotalValue` to be set on the portfolio. minimum: 1 maximum: 100 example: 60 type: number format: double Value: description: Market value of the holding in the portfolio currency. minimum: 1 example: 25000 type: number format: double AnnualFeePercent: description: Holding-level annual fee as a percentage of holding value (e.g. `1.15` = 1.15%). Defaults to `0` (no fee). minimum: 0 default: 0 example: 1.15 type: number format: double AnnualFeeFrequency: description: How often the holding-level annual fee is deducted. default: Monthly type: string enum: - Monthly - Quarterly - SemiAnnually - Annually PerformanceId: description: Morningstar performance identifier of a security. type: string example: 0P00002QN3 CUSIP: description: CUSIP identifier of a security. type: string example: 09251T103 ISIN: description: ISIN identifier of a security. type: string example: US0378331005 TradingSymbol: description: Trading symbol (ticker) of a security. type: string example: MDLOX FundCode: description: Fund code identifier of a security. Specific to Thai markets. type: string example: ABG Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturns: type: object properties: AsOfDate: format: date-time type: string Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturnSecurityItem' OutputRiskDrawdown: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Portfolio: $ref: '#/components/schemas/OutputRiskPortfolio' description: Drawdown data for the portfolio. description: Drawdown analysis for the portfolio across trailing time periods and calendar years. Morningstar.PortfolioAnalysis.Models.Output.Performance.SecurityReturns: type: object properties: AsOfDate: format: date-time type: string NonStdLoadAdjustedReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.NonStdLoadAdjustedReturns' StandardizedAndTaxAdjustedReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturns' OutputRiskRiskStatistics: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. TrailingTimePeriod: type: string enum: - Year1 - Year2 - Year3 - Year5 - Year10 description: Trailing time period over which risk statistics are calculated. DataFrequency: type: string enum: - Monthly description: Frequency of the return data used in the calculation. Portfolio: $ref: '#/components/schemas/OutputRiskRiskStatisticsPortfolioItem' description: Risk statistics for the portfolio. Benchmark: $ref: '#/components/schemas/OutputRiskRiskStatisticsItem' description: Risk statistics for the benchmark. Security: type: array items: $ref: '#/components/schemas/OutputRiskRiskStatisticsSecurityItem' description: Array of risk statistics for individual securities in the portfolio. description: Risk statistics for the portfolio, benchmark, and individual securities for a single trailing time period. Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceView: type: object properties: Id: description: this will look up the view definition defined by configuration type: string Performances: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances' Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationMatrix: type: object properties: TrailingTimePeriod: description: Only Year1, Year3, Year5, Year10 supported enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string DataFrequency: description: Only Monthly, Quarterly supported enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string StartDate: format: date-time type: string EndDate: format: date-time type: string Correlations: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationItemKey' Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriod: type: object properties: TimePeriod: description: Only support Month1, Month3, Year1, Year3 enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string Value: format: double type: number StartDate: format: date-time type: string Morningstar.PortfolioAnalysis.Models.Output.Performance.AfterTaxReturns: type: object properties: OnDistributionAndSalesOfShares: description: Year1,Year3,Year5,Year10,SinceInception only supported type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_' OnDistributionReturn: description: Year1,Year3,Year5,Year10,SinceInception only supported type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.TimePeriod_' InputPerformancePerformanceConfig: description: Account-specific configuration preset. type: object properties: Id: type: string description: Account-specific configuration preset. Settings can be overridden directly in the request. `Hypothetical` is only supported when `View.Id` is `CrossPortfolioCorrelation`. default: QuickPortfolio enum: - Hypothetical - QuickPortfolio OutputPerformanceStandardizedReturns: type: object properties: GrossExpenseRatio: type: number format: double description: Total gross expenses divided by average net assets. Reflects the fund's expenses before any fee waivers or reimbursements are applied. InceptionDate: type: string format: date-time description: Inception date of the security. MaxBackLoad: type: number format: double description: Maximum deferred (back-end) sales charge, expressed as a percentage of the lesser of the initial or final share value. MaxFrontLoad: type: number format: double description: Maximum front-end sales charge applied at purchase, as a percentage of the investment amount. NetExpenseRatio: type: number format: double description: Total net expenses divided by average net assets, after any fee waivers or reimbursements. Includes management, 12b-1, administrative, and auditor fees, but excludes brokerage costs. ManagementExpenseRatio: type: number format: double description: Annual fixed costs of managing the fund as a percentage of average net assets. Specific to the Canadian market. TurnoverRatio: type: number format: double description: Annual portfolio rotation rate. A high turnover ratio may indicate higher transaction costs. TurnoverRatioDate: type: string format: date-time description: Date as of which the turnover ratio is reported. Day7YieldUnsubsized: type: number format: double description: 7-day unsubsidised yield, calculated using gross (pre-subsidy) expenses per the SEC Form N-1A formula. Day7YieldSubsidized: type: number format: double description: 7-day subsidised yield, calculated using net (post-subsidy) expenses per the SEC Form N-1A formula. Month12Yield: type: number format: double description: Trailing 12-month distributions (dividends, interest, and capital gains, excluding return of capital) expressed as a percentage of the previous month-end price. TimePeriod: type: array items: $ref: '#/components/schemas/OutputPerformanceStandardizedReturns.TimePeriodItem' description: Array of standardised return values for each trailing time period. description: Standardised return data for a security including expense ratios, yields, and time-period returns. OutputRiskCorrelationItemKey: type: object properties: Id: type: integer format: int32 SecurityId: type: string UseExtendedReturns: type: boolean Type: type: string enum: - Portfolio - Security CorrelatedItemKey: type: array items: $ref: '#/components/schemas/OutputRiskCorrelatedItemKey' description: Correlation data for a single security or portfolio against all others in the matrix. Morningstar.PortfolioAnalysis.Models.Output.Performance.Performances: type: object properties: PerformanceDate: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate' Performance: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Performance' CrossPortfolioCorrelationMatrix: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelationMatrix' SecurityReference: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.SecurityItem' OutputPerformanceBestWorstTimePeriods: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. BestTimePeriod: type: array items: $ref: '#/components/schemas/OutputPerformanceBestWorstTimePeriod' description: Array of best return values for each time period. WorstTimePeriod: type: array items: $ref: '#/components/schemas/OutputPerformanceBestWorstTimePeriod' description: Array of worst return values for each time period. description: Best and worst return values across a set of standard trailing time periods. OutputPerformanceNonStdLoadAdjustedReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Portfolio: $ref: '#/components/schemas/OutputPerformanceNonStdLoadAdjustedReturnsPortfolio' description: Portfolio non-standardised load-adjusted return values. description: Non-standardised load-adjusted return data for the portfolio. DataModelDailyOhlcv: title: DataModelDailyOhlcv type: object description: Represents a time series of daily trading data, including open, high, low, close, and volume values for each date. properties: dailyOpenPrice: type: number example: 1.108 dailyHighPrice: type: number example: 1.118 dailyLowPrice: type: number example: 1.106 dailyClosingPrice: type: number example: 1.115 dailyVolume: type: number example: 5.165 date: type: string format: date example: '2025-09-06' OutputPerformanceSecurityReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. NonStdLoadAdjustedReturns: $ref: '#/components/schemas/OutputPerformanceSecurityReturns.NonStdLoadAdjustedReturns' description: Non-standardised load-adjusted return data for each security. StandardizedAndTaxAdjustedReturns: $ref: '#/components/schemas/OutputPerformanceStandardizedAndTaxAdjustedReturns' description: Standardised and tax-adjusted return data for each security. description: Security-level return data including non-standardised and standardised returns. OutputSecurityItem: description: Reference data for a security appearing in the response. type: object properties: SecurityId: description: Morningstar unique identifier of the security. type: string CUSIP: description: CUSIP identifier of the security. type: string ISIN: description: ISIN identifier of the security. type: string FundCode: description: Fund code identifier of the security. type: string Name: description: Name of the security. type: string TradingSymbol: description: Trading symbol (ticker) of the security. type: string PerformanceId: description: Morningstar performance identifier of the security. type: string BaseCurrency: description: Base currency of the security. ISO alpha-3 currency code. type: string enum: - MultipleCurrencies - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTN - BWP - BYR - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNY - COP - COU - CRC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GHC - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MXV - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - ROL - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDD - SEK - SGD - SHP - SLL - SOS - SRD - STD - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - USS - UYU - UZS - VEF - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XBD - XCD - XDR - XFO - XFU - XOF - XPD - XPF - XPT - YER - ZAR - ZMK - ZWR Type: description: Morningstar security type code (e.g. `FO` = Open End Fund, `ST` = Stock, `BD` = Bond). type: string enum: - BD - CT - CA - CASH - EI - FC - FE - FM - FO - FI - FV - SA - ST - VA - V1 - XI - SP - Proxy - CZ - MO - VP - VL - FH - CP - CIT - GA - MF - SC - S1 InceptionDate: description: Inception date of the security. type: string format: date-time ObsoleteType: description: Reason the security was marked obsolete, if applicable. type: string ObsoleteDate: description: Date on which the security was marked obsolete, if applicable. type: string format: date-time SecurityReferenceTypes: description: Roles the security plays in the response (e.g. `PortfolioHolding`, `BenchmarkHolding`, `InvalidSecurity`). type: array items: type: string enum: - PortfolioHolding - BenchmarkHolding - DisclosureIndex - InvalidSecurity - InactiveSecurity - NotEntitled Value: description: Market value of the security in the portfolio. type: number format: double Units: description: Number of units of the security held. type: number format: double NotClassifiedHoldingId: description: Identifier used when the security could not be classified. type: string Weight: description: Weight of the security as a percentage of the portfolio. type: number format: double Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivity: type: object properties: DataFrequency: enum: - Monthly - Quarterly type: string Portfolio: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivityItem' Benchmark: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivityItem' MaxSequence: format: int32 type: integer OutputPerformanceStandardizedReturns.TimePeriodItem: type: object properties: Id: type: string enum: - YearToDate - Year1 - Year3 - Year5 - Year10 - SinceInception description: Trailing time period identifier. Market: type: number format: double description: Market-price total return for the period. For ETFs and closed-end funds, based on market price change plus reinvested distributions. For equities, dividends are treated as a cash payout at period end rather than reinvested. Nav: type: number format: double description: NAV-based total return for the period. description: Standardised return values for a single trailing time period. Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_: type: object properties: Id: format: int32 type: integer Value: format: double type: number OutputRiskDrawdownItem: type: object properties: MaxDrawdown: type: number format: double description: Peak-to-trough decline over the period, expressed as a percentage. NoOfPeriods: type: integer format: int32 description: Number of periods (months) between the peak and the recovery. PeakDate: type: string format: date-time description: Date of the return peak preceding the maximum drawdown. ValleyDate: type: string format: date-time description: Date of the lowest point of the maximum drawdown. UpPercent: type: number format: double description: Percentage of periods in which the portfolio posted a positive return. DownPercent: type: number format: double description: Percentage of periods in which the portfolio posted a negative return. description: Drawdown statistics for a single period. InputPortfolioInput: description: Object representing a portfolio to be analysed. Each holding must specify a security identifier and one of `Weight` or `Value`to define its allocation. `TotalValue` is required when holdings use `Weight`. Maximum of 250 holdings per portfolio. required: - Currency - Holdings - Name type: object properties: Name: description: Portfolio name. type: string TotalValue: description: Total market value of the portfolio in the portfolio currency. Required when holdings use `Weight`. type: number format: double minimum: 1 example: 20000 Currency: description: Portfolio currency. 19 currencies are supported. Accepted values are ISO 4217 currency codes. type: string enum: - AUD - BRL - CAD - CHF - DKK - EUR - GBP - HKD - INR - JPY - MXN - MYR - NOK - NZD - SEK - SGD - TWD - USD - ZAR x-enumDescriptions: AUD: Australian Dollar BRL: Brazilian Real CAD: Canadian Dollar CHF: Swiss Franc DKK: Danish Krone EUR: Euro GBP: British Pound Sterling HKD: Hong Kong Dollar INR: Indian Rupee JPY: Japanese Yen MXN: Mexican Peso MYR: Malaysian Ringgit NOK: Norwegian Krone NZD: New Zealand Dollar SEK: Swedish Krona SGD: Singapore Dollar TWD: New Taiwan Dollar USD: United States Dollar ZAR: South African Rand example: USD Holdings: description: List of portfolio holdings. Maximum of 250 holdings per portfolio. type: array maxItems: 250 minItems: 1 items: $ref: '#/components/schemas/InputPortfolioInputHolding' Fees: description: Portfolio-level annual fee applied to all holdings. $ref: '#/components/schemas/InputPortfolioFees' IrrFees: description: Annual fee used in the internal rate of return calculation. type: number format: double minimum: 1 example: 1000 InputPerformancePerformanceRequestSettings: description: Analysis settings including output currency, date range, and performance frequency. type: object required: - OutputCurrency properties: OutputCurrency: type: string description: Currency used to calculate output values. 19 currencies are supported. Accepted values are ISO 4217 currency codes. default: USD enum: - AUD - BRL - CAD - CHF - DKK - EUR - GBP - HKD - INR - JPY - MXN - MYR - NOK - NZD - SEK - SGD - TWD - USD - ZAR x-enumDescriptions: AUD: Australian Dollar BRL: Brazilian Real CAD: Canadian Dollar CHF: Swiss Franc DKK: Danish Krone EUR: Euro GBP: British Pound Sterling HKD: Hong Kong Dollar INR: Indian Rupee JPY: Japanese Yen MXN: Mexican Peso MYR: Malaysian Ringgit NOK: Norwegian Krone NZD: New Zealand Dollar SEK: Swedish Krona SGD: Singapore Dollar TWD: New Taiwan Dollar USD: United States Dollar ZAR: South African Rand AnalysisDateTimePeriod: description: Determines whether the analysis end date aligns to a month end, quarter end, year end, or a custom date. `CustomDate` requires `PortfolioPerformanceEndDate` to be set explicitly. type: string enum: - MonthEnd - QuarterEnd - YearEnd - CustomDate default: MonthEnd AssetClassGroupConfigs: $ref: '#/components/schemas/InputAssetClassGroupConfigs' DisableRescale: description: When `true`, portfolio weights are not rescaled if any holdings are invalid or unentitled. The request will return a `400` error instead. type: boolean default: false EnablePerformanceCommonEndDate: description: When `true`, the most recent common end date across all portfolios is used as the analysis end date. type: boolean default: false IncludeBenchmarkEndDate: description: When `true`, the benchmark's most recent price date is used as the analysis end date. type: boolean default: false IncludeGrossNetReturns: description: When `true`, both gross and net return values are included in trailing returns, calendar year returns, investment activity, and risk statistics. type: boolean default: false IncludePortfolioInCorrelationMatrix: description: When `true`, the portfolio is included as an entry in the correlation matrix. type: boolean default: false InitialValue: description: Initial value of the portfolio in the output currency. type: number format: double minimum: 1 default: 10000 PerformanceFrequency: description: Frequency of performance returns and risk calculations. enum: - Monthly - Quarterly type: string default: Monthly PortfolioPerformanceCustomStartDate: type: string description: 'Custom start date of the analysis. Required when `PortfolioPerformanceStartDate` is set to `CustomDate`. Note: this field name contains a trailing space.' format: date example: '2022-10-31' PortfolioPerformanceEndDate: type: string description: End date of the analysis. Required when `AnalysisDateTimePeriod` is set to `CustomDate`. format: date example: '2022-10-31' PortfolioPerformanceStartDate: description: Start date of the analysis. `CustomDate` requires `PortfolioPerformanceCustomStartDate` to be set explicitly. type: string enum: - EarliestCommon - EarliestAvailable - EarliestCommonExtended - EarliestCommonExtended10Year - Year10 - CustomDate default: EarliestCommon SynchronizePortfolioStartDate: description: When `true`, the latest common start date across all portfolios is used as the analysis start date for all portfolios. type: boolean default: false OutputRiskPortfolio: type: object properties: PortfolioDrawdownItem: $ref: '#/components/schemas/OutputRiskDrawdownItem' description: Maximum drawdown statistics over the full analysis period. TimePeriods: type: array items: $ref: '#/components/schemas/OutputRiskTimePeriods' description: Drawdown statistics for each standard trailing time period. CalendarYear: type: array items: $ref: '#/components/schemas/OutputRiskCalenderYearItem' description: Drawdown statistics for each calendar year. description: Portfolio drawdown data across the full period, standard trailing time periods, and calendar years. OutputPerformanceNonStdLoadAdjustedReturnsSecurity: type: object properties: Sequence: type: integer format: int32 description: Position of the security in the holdings array (1-based). SecurityId: type: string description: Morningstar unique identifier of the security. HoldingDate: type: string format: date-time description: Date as of which the holding data is reported. HoldingValue: type: number format: double description: Value of the holding as of `HoldingDate`. Day7Yield: type: number format: double description: 7-day annualised yield. Applicable to money market funds. TimePeriod: type: array items: $ref: '#/components/schemas/OutputDataItemTimePeriod' description: Array of return values for each trailing time period. description: Non-standardised load-adjusted return data for a single security. OutputPerformanceStandardizedReturnsTimePeriodItem: type: object properties: Id: type: string enum: - YearToDate - Month3 - Year1 - Year3 - Year5 - Year10 - SinceInception description: Trailing time period identifier. Nav: type: number format: double description: NAV-based standardised return for the period. description: Standardised return value for a single trailing time period. Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedReturnsTimePeriodItem: type: object properties: Id: enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string Market: format: double type: number Nav: format: double type: number OutputPerformancePerformanceHistoryItem: type: object properties: StartYear: type: integer format: int32 description: Year in which the performance history series begins. StartQuarter: maximum: 4 minimum: 1 type: integer format: int32 description: Quarter in which the performance history series begins (1–4). StartMonth: maximum: 12 minimum: 1 type: integer format: int32 description: Month in which the performance history series begins (1–12). Data: type: array items: $ref: '#/components/schemas/OutputDataItemPerformanceHistoryTimePeriod' description: Array of sequential return data points. description: Performance history data for a portfolio or benchmark series. OutputPerformanceInvestmentActivityItem: type: object properties: Sequence: type: integer format: int32 description: Sequential index of the period (1-based). StartDate: type: string format: date-time description: Start date of the period. EndDate: type: string format: date-time description: End date of the period. BeginningBalance: type: number format: double description: Portfolio value at the start of the period. MarketValue: type: number format: double description: Portfolio market value at the end of the period. GrossBeginningBalance: description: Gross beginning balance. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double GrossMarketValue: description: Gross market value. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double description: Investment activity for a single period. Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationItemKey: type: object properties: Id: format: int32 type: integer SecurityId: type: string PortfolioName: type: string UseExtendedReturns: type: boolean Type: enum: - Portfolio - Security type: string CorrelatedItemKey: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelatedItemKey' Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsSecurityItem: type: object properties: SecurityId: type: string Weight: format: double type: number RiskStatisticsItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatisticsItem' OutputCategory: title: OutputCategory type: string description: Identifies the thematic category or functional area a data point belongs to within the Time Series API. enum: - fees-expenses - corporate-actions - fund-sustainability - fund-research - performance - portfolio-analytics - portfolio-holdings - reference OutputPerformanceBenchmark.CalendarYearReturn: type: object properties: CalendarYear: type: array description: 1-10 to represent 10 most recent calendar years items: $ref: '#/components/schemas/OutputDataItemInt32' description: Benchmark calendar year return values. OutputDataItemInt32: type: object properties: Id: type: integer format: int32 description: Integer identifier for the data point. Value: type: number format: double description: Value for the data point. description: A data point with an integer identifier and a numeric value. Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceInputSettings: type: object properties: View: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceView' Config: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceConfig' RequestSettings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceRequestSettings' Portfolios: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioInput' example: View: Id: Default Config: Id: QuickPortfolio RequestSettings: OutputCurrency: USD RollingReturnFrequency: Month3 AssetClassGroupConfigs: AssetClassGroupConfig: - Id: ACG-USBROAD Portfolios: - Name: TestPortfolio1 TotalValue: 10000 Currency: USD Holdings: - SecurityId: FOUSA05H5F Type: FO Weight: 50 - SecurityId: FOUSA04BCR Type: FO Weight: 50 Benchmark: Type: Standard Holdings: - SecurityId: XIUSA04G92 Type: XI Weight: 100 Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem: type: object properties: Alpha: format: double type: number Beta: format: double type: number RSquared: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatistics: type: object properties: AsOfDate: format: date-time type: string TrailingTimePeriod: description: Only Year1, Year3, Year5, Year10 supported enum: - QuarterToDate - YearToDate - Month1 - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception type: string DataFrequency: description: Only Monthly, Quarterly supported enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem' Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsSecurityItem' OutputPerformanceTrailingReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Portfolio: $ref: '#/components/schemas/OutputPerformanceTrailingReturnsItem' description: Portfolio trailing return values. If a benchmark is included, the same time periods are returned for the benchmark. Benchmark: $ref: '#/components/schemas/OutputPerformanceBenchmark.TrailingReturnsItem' description: Benchmark trailing return values. description: Trailing return data for the portfolio and benchmark. OutputDataItemTrailingTimePeriod: type: object properties: Id: type: string enum: - YearToDate - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception description: Trailing time period identifier. Value: type: number format: double description: Return value for the time period. GrossValue: description: Gross return value for the period. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double Morningstar.PortfolioAnalysis.Models.Output.Performance.Returns: type: object properties: BestWorstTimePeriods: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.BestWorstTimePeriods' TrailingReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.TrailingReturns' CalendarYearReturn: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturns' RollingReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturns' IllustrationReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.IllustrationReturns' PerformanceHistorys: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistorys' InvestmentActivity: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivity' SecurityReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.SecurityReturns' Morningstar.PortfolioAnalysis.Models.Output.Performance.InvestmentActivityItem: description: 'TODO: check all the types and possible values for properties in this class' type: object properties: Sequence: format: int32 type: integer StartDate: format: date-time type: string EndDate: format: date-time type: string BeginningBalance: format: double type: number ChargesFees: format: double type: number DistributionWithdrawal: format: double type: number MarketValue: format: double type: number NewInvestment: type: boolean TaxesDue: format: double type: number TotalReinvest: format: double type: number TotalReturnPercent: format: double type: number OutputPerformanceStandardizedAndTaxAdjustedReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Security: type: array items: $ref: '#/components/schemas/OutputPerformanceStandardizedAndTaxAdjustedReturnsSecurity' description: Array of per-security standardised and after-tax return records. description: Standardised and tax-adjusted return data for each security in the portfolio. Morningstar.PortfolioAnalysis.Models.Input.PortfolioInput: required: - Name - Currency - Holdings type: object properties: Name: type: string TotalValue: format: double type: number Currency: enum: - AUD - CAD - CNY - EUR - GBP - INR - JPY - USD type: string Holdings: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioInputHolding' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.BenchmarkInput' IrrFees: format: double type: number RiskFreeProxyId: description: Default is set in the Configuration. This is a portfolio level override. type: string Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturns: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturn' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.CalendarYearReturn' InputAssetClassGroupConfig: type: object properties: Id: description: Asset class group identifier. type: string enum: - ACG-AUDETAILED - ACG-BROAD-INDIA2 - ACG-BROAD-JAPAN - ACG-CABROAD - ACG-CANBROAD4 - ACG-EUBROAD - ACG-GLOBBROAD - ACG-NZDETAILED - ACG-UKBROAD - ACG-UK-GBR - ACG-USBROAD default: ACG-USBROAD OutputTimeSeriesDailyOhlcv: title: OutputTimeSeriesDailyOhlcv type: object description: A named time series with dated data points. additionalProperties: false properties: categories: type: array description: Semantic tags/labels for this series. items: $ref: '#/components/schemas/OutputCategory' dataPoint: type: string const: daily-ohlcv data: type: array items: $ref: '#/components/schemas/DataModelDailyOhlcv' OutputPerformanceStdLoadAdjustedReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Portfolio: $ref: '#/components/schemas/OutputPerformanceStdLoadAdjustedReturnsPortfolio' description: Portfolio standardised load-adjusted return values. description: Standardised load-adjusted return data for the portfolio. Morningstar.PortfolioAnalysis.Models.Output.Risk.Risks: type: object properties: RiskStatistics: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.RiskStatistics' MPTStatistics: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatistics' CorrelationMatrix: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.CorrelationMatrix' OutputRiskRiskStatisticsPortfolioItem: type: object properties: Mean: type: number format: double description: Average return over the trailing period. GrossMean: description: Gross mean return. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double SharpeRatio: type: number format: double description: Return in excess of the risk-free rate per unit of standard deviation. A higher value indicates better risk-adjusted performance. GrossSharpeRatio: description: Gross Sharpe ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double StandardDeviation: type: number format: double description: Statistical dispersion of returns around the mean. Higher values indicate greater return volatility. GrossStandardDeviation: description: Gross standard deviation. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double InformationRatio: type: number format: double description: Active return relative to a benchmark per unit of tracking error. A variant of the Sharpe ratio that uses the benchmark rather than the risk-free rate. GrossInformationRatio: description: Gross information ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double TrackingError: type: number format: double description: Standard deviation of the portfolio's excess returns relative to the benchmark. GrossTrackingError: description: Gross tracking error. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double SortinoRatio: type: number format: double description: Return per unit of downside deviation. A variant of the Sharpe ratio that penalises only negative return volatility. GrossSortinoRatio: description: Gross Sortino ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double ExcessReturn: type: number format: double description: Portfolio return minus the 91-day government treasury bill return over the same period. GrossExcessReturn: description: Gross excess return. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double description: Risk statistics for the portfolio over a single trailing time period. Year2 is not supported at security level. Morningstar.PortfolioAnalysis.Models.Input.PortfolioInputHolding: type: object properties: SecurityId: type: string Type: description: 'TODO: is this required? If not, is there a default?' enum: - BD - CT - CA - CASH - EI - FC - FE - FM - FO - FI - FV - SA - ST - VA - V1 - XI - SP type: string ExchangeID: type: string Weight: format: double type: number Value: format: double type: number AnnualFeePercent: format: double type: number AnnualFeeFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually type: string SalesFeesAmountType: enum: - Amount - Percentage type: string SalesFeesAmount: format: double type: number SalesFeesType: enum: - Standard - Custom type: string SalesFeesROAAmount: format: double type: number SalesFeesLOIAmount: format: double type: number OtherFeeAmount: format: double type: number OtherFeeAmountType: enum: - Amount - Percentage type: string OtherFeeType: enum: - TradingCommissions - ShortTermTradingFee type: string CUSIP: type: string TradingSymbol: type: string FundCode: type: string OutputInvestmentsMetadata: title: OutputInvestmentsMetadata description: Provides the identifier look up details passed in request. type: object additionalProperties: false properties: exchangeCountry: type: string example: GBR default: USA description: Indicates exchange country used to look up investment. Represented by 3-character ISO 3166-1 country codes. minLength: 3 maxLength: 3 domicile: type: string example: GBR default: USA description: Indicates domicile used to look up investment. Represented by 3-character ISO 3166-1 country codes. minLength: 3 maxLength: 3 baseCurrency: type: string example: GBP default: USD description: Indicates base currency used to look up investment. Represented by 3-character ISO 4217 currency codes. minLength: 3 maxLength: 3 Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsSecurityItem: type: object properties: SecurityId: type: string MPTStatisticsItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem' OutputRiskCalenderYearItem: type: object properties: id: type: string description: Calendar year identifier (e.g. `2023`). CalenderYearDrawdownItem: $ref: '#/components/schemas/OutputRiskDrawdownItem' description: Drawdown statistics for the calendar year. description: Drawdown statistics for a single calendar year. OutputPerformanceCalendarYearReturns: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. Portfolio: $ref: '#/components/schemas/OutputPerformanceCalendarYearReturn' description: Portfolio calendar year return values. Benchmark: $ref: '#/components/schemas/OutputPerformanceBenchmark.CalendarYearReturn' description: Benchmark calendar year return values. description: Calendar year return data for the portfolio and benchmark. OutputPerformanceReturns: type: object properties: BestWorstTimePeriods: $ref: '#/components/schemas/OutputPerformanceBestWorstTimePeriods' description: Best and worst return periods data. TrailingReturns: $ref: '#/components/schemas/OutputPerformanceTrailingReturns' description: Trailing returns data. CalendarYearReturn: $ref: '#/components/schemas/OutputPerformanceCalendarYearReturns' description: Calendar year return data. PerformanceHistorys: $ref: '#/components/schemas/OutputPerformancePerformanceHistorys' description: Performance history data. InvestmentActivity: $ref: '#/components/schemas/OutputPerformanceInvestmentActivity' description: Investment activity data. SecurityReturns: $ref: '#/components/schemas/OutputPerformanceSecurityReturns' description: Security-level return data. NonStdLoadAdjustedReturns: $ref: '#/components/schemas/OutputPerformanceNonStdLoadAdjustedReturns' description: Non-standardised load-adjusted returns data. StdLoadAdjustedReturns: $ref: '#/components/schemas/OutputPerformanceStdLoadAdjustedReturns' description: Standardised load-adjusted returns data. description: Return data for the portfolio including trailing returns, calendar year returns, investment activity, and security-level returns. OutputDataItemBenchmarkTrailingTimePeriod: type: object properties: Id: type: string enum: - YearToDate - Month3 - Month6 - Year1 - Year2 - Year3 - Year5 - Year10 - SinceInception description: Trailing time period identifier. Value: type: number format: double description: Return value for the time period. description: Benchmark return value for a single trailing time period. InputPortfolioFees: description: Portfolio-level annual fee configuration. type: object properties: AnnualFeePercent: description: Annual fee as a percentage of portfolio value (e.g. `1.15` = 1.15%). Defaults to `0` (no fee). minimum: 0 default: 0 example: 1.15 type: number format: double AnnualFeeFrequency: description: How often the annual fee is deducted from the portfolio. default: Monthly type: string enum: - Monthly - Quarterly - SemiAnnually - Annually OutputMetadataMessages: description: Provides information about identifiers for which no results were returned. title: OutputMetadataMessages type: object additionalProperties: false properties: investments: description: Indicates identifiers for which no results were returned. type: array items: $ref: '#/components/schemas/OutputMetadataMessageInvestment' type: type: string description: Indicates the message type. example: Warning readOnly: true const: Warning message: type: string description: Description of the issue encountered. example: 'Lookup : Invalid investments.' readOnly: true code: type: string description: Code associated with the message. example: 404.common.125 readOnly: true Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.IllustrationReturnTimePeriod_: type: object properties: Id: enum: - Days7Yield - Days7YieldUnsubsidized - Days7YieldSubsidized - Year1 - Year3 - Year5 - Year10 - SinceInception type: string Value: format: double type: number OutputPerformanceAfterTaxReturns: type: object properties: OnDistributionAndSalesOfShares: type: array items: $ref: '#/components/schemas/OutputDataItemTimePeriod' description: After-tax returns assuming distributions are taxed and shares are sold at the end of the period. OnDistributionReturn: type: array items: $ref: '#/components/schemas/OutputDataItemTimePeriod' description: After-tax returns on distributions only, assuming shares are held. description: After-tax return data for the security. OutputRiskMPTStatistics: type: object properties: AsOfDate: type: string format: date-time description: End date of the analysis. TrailingTimePeriod: type: string enum: - Year1 - Year2 - Year3 - Year5 - Year10 description: Trailing time period over which MPT statistics are calculated. DataFrequency: type: string enum: - Monthly description: Frequency of the return data used in the calculation. Portfolio: $ref: '#/components/schemas/OutputRiskMPTStatisticsItem' description: MPT statistics for the portfolio. description: Modern Portfolio Theory (MPT) statistics for the portfolio for a single trailing time period. Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfig: type: object properties: Id: type: string Type: enum: - Broad - Detailed type: string AssetClassConfig: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassConfig' OutputPerformanceStdLoadAdjustedReturnsPortfolio: type: object properties: TimePeriod: type: array items: $ref: '#/components/schemas/OutputPerformanceStandardizedReturnsTimePeriodItem' description: Array of standardised return values for each trailing time period. description: Portfolio standardised load-adjusted return values. ResponseTimeSeriesSingleObservation: title: ResponseTimeSeriesSingleObservation readOnly: true description: List of investments for which time series data was returned. type: object additionalProperties: false properties: investments: type: array minItems: 1 items: $ref: '#/components/schemas/OutputInvestmentSingleObservation' metadata: $ref: '#/components/schemas/OutputMetadata' OutputPerformanceCalendarYearReturn: type: object properties: CalendarYear: type: array description: 1-10 to represent 10 most recent calendar years items: $ref: '#/components/schemas/OutputDataItemCalendarYearReturnTimePeriod' description: Portfolio calendar year return values. OutputRiskMPTStatisticsItem: type: object properties: Alpha: type: number format: double description: Difference between actual returns and expected returns given the portfolio's beta. A positive value indicates outperformance. GrossAlpha: description: Gross alpha. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double Beta: type: number format: double description: Measure of the portfolio's sensitivity to benchmark movements. A beta above 1 indicates higher volatility than the benchmark. GrossBeta: description: Gross beta. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double RSquared: type: number format: double description: Proportion of the portfolio's returns explained by the benchmark. Values range from 0 to 1; a value close to 1 indicates returns closely track the benchmark. GrossRSquared: description: Gross R-squared. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double UpCaptureRatio: type: number format: double description: Ratio of portfolio return to benchmark return during periods when the benchmark is rising. A value above 100 indicates the portfolio captured more than the benchmark's upside. GrossUpCaptureRatio: description: Gross up-capture ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double DownCaptureRatio: type: number format: double description: Ratio of portfolio return to benchmark return during periods when the benchmark is falling. A value below 100 indicates the portfolio lost less than the benchmark in down markets. GrossDownCaptureRatio: description: Gross down-capture ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double TreynorRatio: type: number format: double description: Annualised risk-adjusted return per unit of market risk (beta). A higher value indicates better risk-adjusted performance. GrossTreynorRatio: description: Gross Treynor ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double OmegaRatio: type: number format: double description: Ratio of probability-weighted gains to losses relative to a target return threshold. Unlike the Sharpe ratio, does not assume a normal return distribution. GrossOmegaRatio: description: Gross Omega ratio. Only returned when `IncludeGrossNetReturns` is `true`. type: number format: double description: Modern Portfolio Theory (MPT) statistics for the portfolio over a single trailing time period. Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelatedItemKey: type: object properties: CorrelatedItemKeyId: format: int32 type: integer Type: enum: - Portfolio type: string Value: format: double type: number OutputTimeSeriesSingleObservation: title: OutputTimeSeriesSingleObservation type: object description: A named time series with dated data points. additionalProperties: false properties: categories: type: array description: Semantic tags/labels for this series. items: $ref: '#/components/schemas/OutputCategory' dataPoint: description: Data point time series relates to. type: string example: daily-price enum: - 12-mo-yield - 7-day-gross-yield - 7-day-unsubsidized-yield - 7-day-yield - absolute-carbon-emissions-scope-1-and-2-tonnes - absolute-carbon-emissions-scope-1-and-2-tonnes-category-average - absolute-carbon-intensity-scope-1-and-2-tonnes-per-usd-millions - absolute-carbon-intensity-scope-1-and-2-tonnes-per-usd-millions-category-average - accounting-fee - administrator-fee - advisor-fee - aggregated-12-month-yield - aggregated-sec-yield - annual-ongoing-charge-excluding-performance-fee - annual-ongoing-charge-including-performance-fee - annual-report-adjusted-expense-ratio - annual-report-management-expense-ratio-mer - annual-report-ongoing-charge - borrowing-costs-actual - borrowing-costs-estimated - carbon-footprint-scope-1-and-2-and-3-tonnes-per-usd-millions - carbon-footprint-scope-1-and-2-and-3-tonnes-per-usd-millions-category-average - carbon-footprint-scope-1-and-2-eligible-holding-type - carbon-footprint-scope-1-and-2-number-of-holdings-covered - carbon-footprint-scope-1-and-2-percentage-of-eligible-portfolio-covered - carbon-footprint-scope-1-and-2-percentage-of-eligible-portfolio-not-covered - carbon-footprint-scope-1-and-2-percentage-of-portfolio-covered - carbon-footprint-scope-1-and-2-percentage-of-portfolio-eligible - carbon-footprint-scope-1-and-2-percentage-of-portfolio-eligible-not-covered - carbon-footprint-scope-1-and-2-percentage-of-portfolio-not-covered - carbon-footprint-scope-1-and-2-percentage-of-portfolio-not-eligible - carbon-footprint-scope-1-and-2-tonnes-per-aud-million-category-average - carbon-footprint-scope-1-and-2-tonnes-per-aud-millions - carbon-footprint-scope-1-and-2-tonnes-per-chf-million-category-average - carbon-footprint-scope-1-and-2-tonnes-per-chf-millions - carbon-footprint-scope-1-and-2-tonnes-per-eur-million-category-average - carbon-footprint-scope-1-and-2-tonnes-per-eur-millions - carbon-footprint-scope-1-and-2-tonnes-per-gbp-million-category-average - carbon-footprint-scope-1-and-2-tonnes-per-gbp-millions - carbon-footprint-scope-1-and-2-tonnes-per-hkd-million-category-average - carbon-footprint-scope-1-and-2-tonnes-per-hkd-millions - carbon-footprint-scope-1-and-2-tonnes-per-sgd-million-category-average - carbon-footprint-scope-1-and-2-tonnes-per-sgd-millions - carbon-footprint-scope-1-and-2-tonnes-per-usd-millions - carbon-footprint-scope-1-and-2-tonnes-per-usd-millions-category-average - carbon-risk-level-classification - carbon-risk-score-category-average - carbon-risk-score-percent-rank-in-category - cum-fair-nav-unweighted-dri - cum-fair-nav-weighted-dri - current-yield - cumulative-return - daily-closing-price - daily-estimated-holding-cost - daily-gross-return-index - daily-high-price - daily-load-adj-return-index-restated - daily-low-price - daily-market-impact-cost - daily-market-return-index - daily-net-return-index - daily-portfolio-concentration - daily-price - daily-return-index - daily-return-index-cum-fair - daily-tracking-volatility - daily-volume - daily-yield - distribution-fee-percentage-of-nav-actual - distribution-fee-percentage-of-nav-estimated - dividend-amount-history - dividend-yield-12-month - dividend-yield-long - dividend-yield-short - entry-cost-acquired-actual - equity-mkt-cap-rescaling-factor-long - estimated-quarterly-return - estimated-share-class-net-flow-daily - estimated-share-class-net-flow-monthly - ex-par-nav-unweighted-dri - ex-par-nav-weighted-dri - growth - five-year-five-star-rating-percent - five-year-four-star-rating-percent - five-year-not-star-rated-percent - five-year-not-star-rating-eligible-percent - five-year-one-star-rating-percent - five-year-three-star-rating-percent - five-year-two-star-rating-percent - historical-carbon-risk-score - historical-corporate-esg-risk-score - historical-sovereign-esg-risk-score - income-only-yield-nav-uk - income-only-yield-nav-us - income-only-yield-price-us - indirect-costs-closed-ended-actual-uk - indirect-costs-closed-ended-estimated-uk - indirect-costs-open-ended-actual-uk - indirect-costs-open-ended-estimated-uk - management-fee-ex-distribution-fees-actual - management-fee-ex-distribution-fees-estimated - market-cap-giant-percentage-long-rescaled - market-cap-large-percentage-long-rescaled - market-cap-micro-percentage-long-rescaled - market-cap-mid-percentage-long-rescaled - market-cap-small-percentage-long-rescaled - maximum-entry-cost-acquired - maximum-entry-cost-base-currency - maximum-entry-cost-percentage - maximum-exit-cost-acquired - maximum-exit-fee-base-currency - maximum-exit-fee-percentage - model-representative-cost - monthly-downside-tracking-error - monthly-gross-return - monthly-inflation-adjusted-return - monthly-load-adj-return-restated - monthly-market-return - monthly-net-return - monthly-return - monthly-return-unweighted-nav - monthly-return-unweighted-price - monthly-return-weighted-nav - monthly-return-weighted-price - monthly-tracking-error - monthly-yield - morningstar-esg-risk-rating-for-funds - morningstar-medalist-rating - morningstar-medalist-rating-parent-pillar - morningstar-medalist-rating-parent-pillar-type - morningstar-medalist-rating-people-pillar - morningstar-medalist-rating-people-pillar-type - morningstar-medalist-rating-performance-pillar - morningstar-medalist-rating-performance-pillar-type - morningstar-medalist-rating-price-pillar - morningstar-medalist-rating-price-pillar-type - morningstar-medalist-rating-process-pillar - morningstar-medalist-rating-process-pillar-type - morningstar-medalist-rating-type - morningstar-rating-overall - nav-unweighted-daily-income-and-capital-gain-yield - nav-unweighted-daily-income-only-yield - nav-unweighted-daily-total-distribution-yield - nav-unweighted-dri - nav-weighted-daily-income-and-capital-gain-yield - nav-weighted-daily-income-only-yield - nav-weighted-daily-total-distribution-yield - nav-weighted-dri - ongoing-charge-ex-perf-fee - ongoing-charge-inc-perf-fee - ongoing-cost-actual - ongoing-cost-estimated - other-fee - other-fee-amount-cn - overall-five-star-rating-percent - overall-four-star-rating-percent - overall-not-star-rated-percent - overall-not-star-rating-eligible-percent - overall-one-star-rating-percent - overall-three-star-rating-percent - overall-two-star-rating-percent - performance-fee-actual - performance-fee-estimated - portfolio-carbon-risk-score - portfolio-corporate-esg-risk-rating - portfolio-corporate-esg-risk-score - portfolio-environmental-risk-score - portfolio-governance-risk-score - portfolio-social-risk-score - portfolio-sovereign-esg-risk-rating - portfolio-sovereign-esg-risk-score - portfolio-unallocated-risk-score - price - price-unweighted-daily-income-and-capital-gain-yield - price-unweighted-daily-income-only-yield - price-unweighted-daily-total-distribution-yield - price-unweighted-dri - price-weighted-daily-income-and-capital-gain-yield - price-weighted-daily-income-only-yield - price-weighted-daily-total-distribution-yield - price-weighted-dri - prospective-acquired-fund-expense - prospectus-adjusted-expense-ratio - quarterly-downside-tracking-error - quarterly-gross-return - quarterly-inflation-adjusted-return - quarterly-load-adj-return-restated - quarterly-market-return - quarterly-net-return - quarterly-return - quarterly-tracking-error - quoted-yield-daily - rating-10-yr - rating-3-yr - rating-5-yr - raw-return-cum-fair - raw-return-market-price - raw-return-nav - real-assets-costs-actual-uk - real-assets-costs-estimated-uk - return - rolling-return - sec-yield - sec-yield-rescaling-factor - sitca-yield - sri-value - ten-year-five-star-rating-percent - ten-year-four-star-rating-percent - ten-year-not-star-rated-percent - ten-year-not-star-rating-eligible-percent - ten-year-one-star-rating-percent - ten-year-three-star-rating-percent - ten-year-two-star-rating-percent - three-year-five-star-rating-percent - three-year-four-star-rating-percent - three-year-not-star-rated-percent - three-year-not-star-rating-eligible-percent - three-year-one-star-rating-percent - three-year-three-star-rating-percent - three-year-two-star-rating-percent - total-expense-survey - trading-expense - transaction-costs-actual-uk - transaction-costs-estimated-uk - transaction-fee-actual - transaction-fee-estimated - turnover-ratio-percentage - typical-exit-cost - unannualized - weekly-return - yearly-capital-return - yearly-gross-return - yearly-income-return - yearly-inflation-adjusted-return - yearly-interest-income - yearly-investor-return - yearly-load-adj-return-restated - yearly-market-return - yearly-net-return - yearly-return performanceType: type: string description: Indicates the performance type used for the time series. enum: - total - market - gross data: type: array items: $ref: '#/components/schemas/DataModelSingleObservation' Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturn: type: object properties: RollingPeriod: enum: - Month3 - Month6 - Month12 - Month24 - Month36 - Month60 - Month120 type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturnsItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturnsItem' Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturns: type: object properties: AsOfDate: format: date-time type: string Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.StandardizedAndTaxAdjustedReturnsSecurity' Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistoryItem: type: object properties: StartYear: format: int32 type: integer StartQuarter: format: int32 maximum: 4 minimum: 1 type: integer StartMonth: format: int32 maximum: 12 minimum: 1 type: integer Data: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_' Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistorys: type: object properties: PerformanceHistory: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.PerformanceHistory' responses: ResponseTimeSeriesDailyOhlcv: description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseTimeSeriesDailyOhlcv' ResponseTimeSeriesSingleObservation: description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseTimeSeriesSingleObservation' ResponsePerformance: description: '200: OK' content: application/json: schema: $ref: '#/components/schemas/ResponsePerformance' examples: PerformanceResponseExample1: $ref: '#/components/examples/PerformanceResponseExample1' ResponseStatus400: description: '400' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: ResponseStatus400Example1: $ref: '#/components/examples/ResponseStatus400Example1' ResponseStatus500: description: '500' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: ResponseStatus500Example1: $ref: '#/components/examples/ResponseStatus500Example1' examples: ResponseStatus400Example1: summary: 400 - Bad Request value: statusCode: 400 errorCode: 400.investmentDetails.002 message: Invalid date format. Expected format is yyyy-MM-d requestId: 539d62a5-3586-4070-965e-0f7f64712d79 PerformanceRequestExample1: summary: Portfolio Performance Example Input value: View: Id: Default Config: Id: QuickPortfolio RequestSettings: OutputCurrency: USD AssetClassGroupConfigs: AssetClassGroupConfig: - Id: ACG-USBROAD Portfolios: - Name: TestPortfolio1 TotalValue: 10000 Currency: USD Holdings: - SecurityId: FOUSA05H5F Weight: 50 - SecurityId: FOUSA04BCR Weight: 50 PerformanceResponseExample1: summary: Portfolio Performance Example Output value: Performance: - PortfolioName: TestPortfolio1 PerformanceDate: EarliestCommonDate: '2004-04-12T00:00:00' EarliestAvailableDate: '2003-09-30T00:00:00' EarliestCommonExtendedDate: '2004-04-12T00:00:00' EarliestInceptionDate: '2003-09-30T00:00:00' ReturnMethodology: QuickPortfolio Returns: BestWorstTimePeriods: AsOfDate: '2026-03-31T00:00:00' BestTimePeriod: - TimePeriod: Month3 Value: 24.65 StartDate: '2009-03-31T00:00:00' - TimePeriod: Month6 Value: 38.29 StartDate: '2009-04-30T00:00:00' - TimePeriod: Year1 Value: 56.26 StartDate: '2009-03-31T00:00:00' - TimePeriod: Year3 Value: 27.05 StartDate: '2009-03-31T00:00:00' - TimePeriod: Year5 Value: 23.28 StartDate: '2009-03-31T00:00:00' - TimePeriod: Year10 Value: 16.12 StartDate: '2009-03-31T00:00:00' WorstTimePeriod: - TimePeriod: Month3 Value: -33.34 StartDate: '2008-09-30T00:00:00' - TimePeriod: Month6 Value: -37.37 StartDate: '2008-06-30T00:00:00' - TimePeriod: Year1 Value: -38.23 StartDate: '2007-12-31T00:00:00' - TimePeriod: Year3 Value: -10.33 StartDate: '2006-03-31T00:00:00' - TimePeriod: Year5 Value: -0.16 StartDate: '2004-05-31T00:00:00' - TimePeriod: Year10 Value: 7.57 StartDate: '2006-03-31T00:00:00' TrailingReturns: AsOfDate: '2026-03-31T00:00:00' Portfolio: TimePeriod: - Id: YearToDate Value: -5.83 - Id: Month3 Value: -5.83 - Id: Month6 Value: -4.2 - Id: Year1 Value: 12.45 - Id: Year3 Value: 16 - Id: Year5 Value: 6.76 - Id: Year10 Value: 10.74 Benchmark: TimePeriod: - Id: YearToDate Value: -4.33 - Id: Month3 Value: -4.33 - Id: Month6 Value: -1.79 - Id: Year1 Value: 17.8 - Id: Year3 Value: 18.32 - Id: Year5 Value: 12.06 - Id: Year10 Value: 14.16 CalendarYearReturn: AsOfDate: '2026-03-31T00:00:00' Portfolio: CalendarYear: - Id: 2026 Value: -5.83 - Id: 2025 Value: 14.7 - Id: 2024 Value: 22.44 - Id: 2023 Value: 29.12 - Id: 2022 Value: -26.38 - Id: 2021 Value: 11.1 - Id: 2020 Value: 21.66 - Id: 2019 Value: 21.45 - Id: 2018 Value: 0.33 - Id: 2017 Value: 21.74 - Id: 2016 Value: 8.38 - Id: 2015 Value: 4 - Id: 2014 Value: 7.02 - Id: 2013 Value: 24.01 - Id: 2012 Value: 19.76 - Id: 2011 Value: 1.62 - Id: 2010 Value: 16.51 - Id: 2009 Value: 51.75 - Id: 2008 Value: -35.85 - Id: 2007 Value: 7.73 - Id: 2006 Value: 10 - Id: 2005 Value: 3.62 - Id: 2004 Value: 10.8 Benchmark: CalendarYear: - Id: 2026 Value: -4.33 - Id: 2025 Value: 17.88 - Id: 2024 Value: 25.02 - Id: 2023 Value: 26.29 - Id: 2022 Value: -18.11 - Id: 2021 Value: 28.71 - Id: 2020 Value: 18.4 - Id: 2019 Value: 31.49 - Id: 2018 Value: -4.38 - Id: 2017 Value: 21.83 - Id: 2016 Value: 11.96 - Id: 2015 Value: 1.38 - Id: 2014 Value: 13.69 - Id: 2013 Value: 32.39 - Id: 2012 Value: 16 - Id: 2011 Value: 2.11 - Id: 2010 Value: 15.06 - Id: 2009 Value: 26.46 - Id: 2008 Value: -37 - Id: 2007 Value: 5.49 - Id: 2006 Value: 15.79 - Id: 2005 Value: 4.91 - Id: 2004 Value: 10.77 PerformanceHistorys: PerformanceHistory: - Type: Difference Frequency: Quarterly StartDate: '2004-09-01T00:00:00' Portfolio: StartYear: 2004 StartQuarter: 3 Data: - Id: 1 Value: 3.52 - Id: 2 Value: -1.62 - Id: 3 Value: -0.73 - Id: 4 Value: 1.38 - Id: 5 Value: -1.54 - Id: 6 Value: -0.33 - Id: 7 Value: -1.46 - Id: 8 Value: -1.3 - Id: 9 Value: -1.01 - Id: 10 Value: -1.53 - Id: 11 Value: 0.7 - Id: 12 Value: -1.98 - Id: 13 Value: 1.13 - Id: 14 Value: 2.13 - Id: 15 Value: 1.62 - Id: 16 Value: 4.78 - Id: 17 Value: -4.59 - Id: 18 Value: 0.3 - Id: 19 Value: 13.45 - Id: 20 Value: 4.97 - Id: 21 Value: -1.22 - Id: 22 Value: 1.08 - Id: 23 Value: -0.57 - Id: 24 Value: 4.48 - Id: 25 Value: -0.44 - Id: 26 Value: -2.99 - Id: 27 Value: -0.5 - Id: 28 Value: 1.23 - Id: 29 Value: 2.88 - Id: 30 Value: -4.94 - Id: 31 Value: 1.19 - Id: 32 Value: -0.05 - Id: 33 Value: -0.22 - Id: 34 Value: 2.42 - Id: 35 Value: -4.75 - Id: 36 Value: -1.77 - Id: 37 Value: 1.6 - Id: 38 Value: -2.09 - Id: 39 Value: -0.63 - Id: 40 Value: -1.24 - Id: 41 Value: -1.07 - Id: 42 Value: -3.27 - Id: 43 Value: 3.47 - Id: 44 Value: 0.22 - Id: 45 Value: 1.61 - Id: 46 Value: -2.92 - Id: 47 Value: -2.84 - Id: 48 Value: 0.27 - Id: 49 Value: 2.69 - Id: 50 Value: -3.3 - Id: 51 Value: 0.57 - Id: 52 Value: 1.96 - Id: 53 Value: 0.09 - Id: 54 Value: -2.73 - Id: 55 Value: 3.23 - Id: 56 Value: -0.07 - Id: 57 Value: -3.35 - Id: 58 Value: 4.3 - Id: 59 Value: -2.02 - Id: 60 Value: -1.04 - Id: 61 Value: -2.38 - Id: 62 Value: -2.99 - Id: 63 Value: 7.06 - Id: 64 Value: -1.91 - Id: 65 Value: -0.33 - Id: 66 Value: -4.18 - Id: 67 Value: -5.48 - Id: 68 Value: -1 - Id: 69 Value: -0.04 - Id: 70 Value: -8.98 - Id: 71 Value: -4.14 - Id: 72 Value: -2.29 - Id: 73 Value: 2.49 - Id: 74 Value: -6.3 - Id: 75 Value: 1.89 - Id: 76 Value: -0.39 - Id: 77 Value: 2.3 - Id: 78 Value: -1.68 - Id: 79 Value: -2.81 - Id: 80 Value: 1.05 - Id: 81 Value: -1.58 - Id: 82 Value: 1.02 - Id: 83 Value: 0.32 - Id: 84 Value: 0.04 - Id: 85 Value: -2.36 - Id: 86 Value: -0.93 - Id: 87 Value: -1.5 Risks: RiskStatistics: - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year1 DataFrequency: Monthly Portfolio: Mean: 12.45 SharpeRatio: 0.98 StandardDeviation: 8.61 InformationRatio: -1.27 TrackingError: 4.23 SortinoRatio: 1.82 ExcessReturn: -1.4 Benchmark: Mean: 17.8 SharpeRatio: 1.34 StandardDeviation: 10.31 SortinoRatio: 2.39 Security: - SecurityId: FOUSA05H5F RiskStatisticsItem: Mean: 8.32266 SharpeRatio: 1.366 StandardDeviation: 2.991 - SecurityId: FOUSA04BCR RiskStatisticsItem: Mean: 16.30978 SharpeRatio: 0.821 StandardDeviation: 14.872 - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year3 DataFrequency: Monthly Portfolio: Mean: 16 SharpeRatio: 1.21 StandardDeviation: 9.23 InformationRatio: -0.53 TrackingError: 4.38 SortinoRatio: 2.2 ExcessReturn: -0.66 Benchmark: Mean: 18.32 SharpeRatio: 1.13 StandardDeviation: 12.06 SortinoRatio: 1.99 Security: - SecurityId: FOUSA05H5F RiskStatisticsItem: Mean: 9.20681 SharpeRatio: 0.886 StandardDeviation: 4.714 - SecurityId: FOUSA04BCR RiskStatisticsItem: Mean: 22.66526 SharpeRatio: 1.104 StandardDeviation: 15.426 - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year5 DataFrequency: Monthly Portfolio: Mean: 6.76 SharpeRatio: 0.31 StandardDeviation: 12.89 InformationRatio: -0.93 TrackingError: 5.68 SortinoRatio: 0.43 ExcessReturn: -1.5 Benchmark: Mean: 12.06 SharpeRatio: 0.62 StandardDeviation: 15.26 SortinoRatio: 0.94 Security: - SecurityId: FOUSA05H5F RiskStatisticsItem: Mean: 3.80155 SharpeRatio: 0.064 StandardDeviation: 7.36 - SecurityId: FOUSA04BCR RiskStatisticsItem: Mean: 9.16145 SharpeRatio: 0.365 StandardDeviation: 19.895 - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year10 DataFrequency: Monthly Portfolio: Mean: 10.74 SharpeRatio: 0.75 StandardDeviation: 11.96 InformationRatio: -0.59 TrackingError: 5.84 SortinoRatio: 1.13 ExcessReturn: -1.01 Benchmark: Mean: 14.16 SharpeRatio: 0.85 StandardDeviation: 15.02 SortinoRatio: 1.31 Security: - SecurityId: FOUSA05H5F RiskStatisticsItem: Mean: 6.04256 SharpeRatio: 0.514 StandardDeviation: 7.412 - SecurityId: FOUSA04BCR RiskStatisticsItem: Mean: 15.09422 SharpeRatio: 0.745 StandardDeviation: 18.01 MPTStatistics: - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year1 DataFrequency: Monthly Portfolio: Alpha: -1.9 Beta: 0.77 RSquared: 85.92 - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year3 DataFrequency: Monthly Portfolio: Alpha: 1.23 Beta: 0.73 RSquared: 90.57 - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year5 DataFrequency: Monthly Portfolio: Alpha: -3.28 Beta: 0.79 RSquared: 88.01 - AsOfDate: '2026-03-31T00:00:00' TrailingTimePeriod: Year10 DataFrequency: Monthly Portfolio: Alpha: -0.37 Beta: 0.74 RSquared: 87.32 SecurityReference: - SecurityId: FOUSA05H5F ISIN: US5434957586 Name: Loomis Sayles High Income Opps Instl TradingSymbol: LSIOX PerformanceId: 0P00003B45 BaseCurrency: USD Type: FO InceptionDate: '2004-04-12T00:00:00' SecurityReferenceTypes: - PortfolioHolding - DisclosureIndex - SecurityId: FOUSA04BCR ISIN: US45775L5075 Name: T. Rowe Price Instl Large Cap Core Gr TradingSymbol: TPLGX PerformanceId: 0P0000373M BaseCurrency: USD Type: FO InceptionDate: '2003-09-30T00:00:00' SecurityReferenceTypes: - PortfolioHolding - DisclosureIndex - SecurityId: XIUSA000OC Name: USTREAS T-Bill Auction Ave 3 Mon BaseCurrency: USD Type: XI InceptionDate: '1941-02-28T00:00:00' SecurityReferenceTypes: - BenchmarkHolding - DisclosureIndex - SecurityId: XIUSA04G92 Name: S&P 500 TR USD TradingSymbol: SPXT BaseCurrency: USD Type: XI InceptionDate: '1970-01-30T00:00:00' SecurityReferenceTypes: - BenchmarkHolding - DisclosureIndex - SecurityId: XIUSA000PK Name: MSCI EAFE NR USD BaseCurrency: USD Type: XI InceptionDate: '1986-03-31T00:00:00' SecurityReferenceTypes: - BenchmarkHolding - DisclosureIndex - SecurityId: XIUSA000MC Name: Bloomberg US Agg Bond TR USD BaseCurrency: USD Type: XI InceptionDate: '1986-01-03T00:00:00' SecurityReferenceTypes: - BenchmarkHolding - DisclosureIndex - SecurityId: F0000119FA Name: Morningstar US Core Bd TR USD Type: XI SecurityReferenceTypes: - DisclosureIndex - SecurityId: XIUSA04EPI Name: ICE BofA US High Yield TR USD Type: XI SecurityReferenceTypes: - DisclosureIndex - SecurityId: XIUSA000KO Name: Russell 1000 Growth TR USD Type: XI SecurityReferenceTypes: - DisclosureIndex ResponseStatus500Example1: summary: 500 - Internal Server Error value: statusCode: 500 errorCode: 500.investmentDetails.003 message: Error calling Investment API. requestId: 539d62a5-3586-4070-965e-0f7f64712d79 requestBodies: RequestPerformance: required: true content: application/json: schema: $ref: '#/components/schemas/RequestPerformance' examples: PerformanceRequestExample1: $ref: '#/components/examples/PerformanceRequestExample1' securitySchemes: BasicAuth: type: http scheme: basic