openapi: 3.0.1 info: version: 1.0.0 title: Authorization Tokens Accounts Reports 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: Reports paths: /v1/reports/risks/{id}: get: tags: - Reports summary: Get a risk tolerance report in JSON format description: Get a client's risk tolerance report in JSON format. operationId: getRiskReportJson parameters: - name: Accept-Language in: header description: Specifies the locale. required: true schema: type: string enum: - en-US - en-CA - en-AU - en-GB - en-IN - fr-CA example: en-US - name: X-API-RequestId in: header description: Initial request identifier schema: type: string - name: id in: path description: Unique identifier of response to query required: true schema: type: string - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: ignoreSections in: query example: - YOUR_DIFFERENCES - FOOTNOTES description: "Determines the sections NOT to include in the report.If not specified, all the sections will be included. Multiple valuses must be comma-separated. Accepted values are:\n\n * `RISK_TOLERANCE`\n * `USING_YOUR_PROFILE`\n * `RISK_TOLERANCE_SCORE`\n * `RISK_GROUP`\n * `YOUR_DIFFERENCES`\n * `FOOTNOTES`\n" schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReportResponsePayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' '500': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' '502': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse502' /v2/reports/risks: get: tags: - Reports summary: Get a client's most recent risk tolerance report description: "Get a client’s risk tolerance report based on the most recently submitted responses to the risk tolerance questionnaire. The report includes sections on:\n\n\n * Risk tolerance score\n * Risk group\n * Differences\n * How to use the report\n * Footnotes\n\nIn the `ignoreSections` parameter, specify any sections you do not want returned in the response.\n" operationId: getRiskReports parameters: - name: Accept-Language in: header description: Specifies the locale. required: true schema: type: string enum: - en-US - en-CA - en-AU - en-GB - en-IN - fr-CA example: en-US - name: X-API-RequestId in: header description: Initial request identifier schema: type: string - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: rtqType in: query description: 'Questionnaire type identifier. - `FM10S30` - 10 questions - `FM25V30`- 25 questions ' required: false schema: type: string enum: - FM10S30 - FM25V30 - name: disclosureType in: query description: 'Indicates if disclosure is needed. - `1` - Include disclosure. - `2` - Do not include disclosure. ' required: false schema: type: integer enum: - 1 - 2 - name: ignoreSections in: query example: - YOUR_DIFFERENCES - FOOTNOTES description: "Determines the sections NOT to include in the report.If not specified, all the sections will be included. Multiple valuses must be comma-separated. Accepted values are:\n\n * `RISK_TOLERANCE`\n * `USING_YOUR_PROFILE`\n * `RISK_TOLERANCE_SCORE`\n * `RISK_GROUP`\n * `YOUR_DIFFERENCES`\n * `FOOTNOTES`\n" schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReportResponsePayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' '500': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' '502': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse502' /v2/reports/risks/{id}: get: tags: - Reports summary: Get a specific risk tolerance report for a client description: "Get a specific response to the risk tolerance questionnaire for a client. The report includes sections on:\n\n\n * Risk tolerance score\n * Risk group\n * Differences\n * How to use the report\n * Footnotes\n\nIn the `ignoreSections` parameter, specify any sections you do not want returned in the response.\n" operationId: getRiskReportPDF parameters: - name: Accept-Language in: header description: Specifies the locale. required: true schema: type: string enum: - en-US - en-CA - en-AU - en-GB - en-IN - fr-CA example: en-US - name: X-API-RequestId in: header description: Initial request identifier schema: type: string - name: id in: path description: Unique identifier of response to query required: true schema: type: string - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: rtqType in: query description: 'Questionnaire type identifier. - `FM10S30` - 10 questions - `FM25V30`- 25 questions ' required: false schema: type: string enum: - FM10S30 - FM25V30 - name: disclosureType in: query description: 'Indicates if disclosure is needed. - `1` - Include disclosure. - `2` - Do not include disclosure. ' required: false schema: type: integer enum: - 1 - 2 - name: ignoreSections in: query example: - YOUR_DIFFERENCES - FOOTNOTES description: "Determines the sections NOT to include in the report.If not specified, all the sections will be included. Multiple valuses must be comma-separated. Accepted values are:\n\n * `RISK_TOLERANCE`\n * `USING_YOUR_PROFILE`\n * `RISK_TOLERANCE_SCORE`\n * `RISK_GROUP`\n * `YOUR_DIFFERENCES`\n * `FOOTNOTES`\n" schema: type: array items: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ReportResponsePayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' '500': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' '502': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse502' /report: post: tags: - Reports summary: Generate reports description: 'Create a report for the portfolio specified in the request body. Report types include:

- X-Ray
- Snapshot
- Hypothetical Growth
- Investment Details
- Stock Intersection
- Disclosure

To override the default value in the Accept-Language HTTP header, use the `langcult` parameter.' operationId: PortfolioAnalysisV1_PostAsync parameters: - name: langcult in: query description: Language and locale, for example, en-US required: false schema: type: string default: en-US - name: contentDispositionHeaderValue in: query description: Open PDF online or download as an attachment required: false schema: type: string default: attachment enum: - attachment - inline requestBody: content: application/json: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisInputSettings' text/json: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisInputSettings' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisInputSettings' application/xml: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisInputSettings' text/xml: schema: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisInputSettings' description: Object that defines the settings and portfolio(s) to use in the request. required: true responses: '200': description: Success content: application/pdf: schema: type: string format: binary '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '500': description: Internal Server Error deprecated: false /reports: get: tags: - Reports summary: Get report(s) metadata description: Get reports metadata including `reportId`.

You must enter a time period for the request to query in the `period` parameter. Time period is measured in quarters:
- `0` = Current quarter. For example, if today is 2021-07-31, returns reports for 2021-07-01 to 2021-09-30.
- `1` = Previous quarter. For example, if today is 2021-07-31, returns reports for 2021-04-01 to 2021-06-30.
- `n` = nth quarter from the current quarter. For example, `4` returns reports of the 4th quarter from the current quarter. If today is 2021-07-31, returns reports for 2020-07-01 to 2020-09-30.
- `-1` = Current and previous quarter.

You can limit results returned by entering a string in the `name` parameter. Only reports with that string in the report name will be returned.

You can also limit the results returned by specifying values in the `bucketId` and `householdId` parameters.

A value of `published` in the `published` parameter will return published files only.

**Note:** If `published` has a `published` or `unpublished` value, the bucket ID will be ignored, and the response will return reports from all buckets. operationId: getReports parameters: - in: header name: x-api-key description: Unique API key of a client required: true schema: type: string - name: period in: query description: Time period for reports in quarters:
0 = Current quarter
1 = Previous quarter
n = nth quarter from the current quarter
-1 = Current and previous quarter
required: false schema: default: 0 type: integer - name: name in: query description: Name search string required: false schema: type: string - name: bucketId in: query description: Unique identifier of a bucket. Default is root bucket. required: false schema: type: string format: uuid - name: householdId in: query description: Unique identifier of a client required: false schema: type: string format: uuid - name: published in: query description: When set to `published` returns published reports only required: false schema: type: string default: all enum: - all - published - unpublished responses: '200': description: Successful operation content: '*/*': schema: $ref: '#/components/schemas/ReportList' '400': description: Invalid status value /reports/{reportId}: get: tags: - Reports summary: Get a report description: Get the report specified in the `reportId` parameter. operationId: getReportDetails parameters: - in: header name: x-api-key description: Unique API key of a client required: true schema: type: string - name: reportId in: path description: Unique identifier of a report required: true schema: type: string responses: '200': description: Successful operation content: '*/*': schema: $ref: '#/components/schemas/ReportListSingle' '400': description: Invalid parameter value '404': description: Not found /reports/assign: post: tags: - Reports summary: Assign report(s) description: Assign report(s) specified in the request body to household(s) specified in the request body.

You must assign a report to a household before it can be published. operationId: assignReport parameters: - in: header name: x-api-key description: Unique API key of a client required: true schema: type: string requestBody: description: Assign report(s) to household(s). required: true content: application/json: schema: $ref: '#/components/schemas/AssignInput' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Assign' '400': description: Invalid parameter value '404': description: Not found /reports/publish: post: tags: - Reports summary: Publish or unpublish reports(s) to Client Web Portal description: Add or remove report files from the Client Web Portal. You must assign a report to a household before it can be published.

**Note:** Requests to unpublish a report that contain an identifier for a report that has not been published will fail. operationId: publishReport parameters: - in: header name: x-api-key description: Unique API key of a client required: true schema: type: string - in: query name: enabled description: Set report(s) to added (true) or removed (false). required: false schema: type: boolean default: false requestBody: description: List of report IDs to add to/remove from Client Web Portal. required: true content: application/json: schema: $ref: '#/components/schemas/ArrayOfReportUuid' responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Publish' '400': description: Invalid parameter value '404': description: Not found /reports/risks/{responseId}: get: summary: Get the content of a specific response to a questionnaire description: Get the content of a specific response to a questionnaire, including the static text, risk tolerance responses, and footnotes. In the `ignoreSections` parameter, specify any sections you do not want returned in the response. tags: - Reports operationId: getRiskReport parameters: - name: responseId in: path description: Unique identifier of a response to a questionnaire required: true example: 436c05d4-27b6-4a92-b7f1-5a829d55373a schema: type: string - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true schema: type: string - name: ignoreSections in: query description: Define the sections you do NOT want to include in the report. It must be a comma separated string with the specific sections to ignore in the response. If not specified, all the sections will be included. required: false example: RISK_TOLERANCE,USING_YOUR_PROFILE,RISK_TOLERANCE_SCORE,RISK_GROUP,YOUR_DIFFERENCES,FOOTNOTES schema: type: string - name: X-API-RequestId in: header description: Initial request identifier example: 436c05d4-27b6-4a92-b7f1-5a829d55373a required: false schema: type: string - name: Accept-Language in: header description: Indicate the locale for the request. e.g. en-US, fr-CA required: true schema: type: string enum: - en-US - name: Authorization in: header description: Bearer access token authorization required: true schema: type: string responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ReportResponsePayload_2' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' '502': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse502' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' /reports/data-points: get: summary: Extract clients data in csv format. description: Extract client data with questionnaire answers and suitability score calculations. tags: - Reports operationId: getDataPointReport parameters: - name: startDate in: query description: Date to start fetching records. example: '20200601' required: true schema: type: integer - name: endDate in: query description: Date to limit fetching record. example: '20200228' required: true schema: type: integer - name: X-API-RequestId in: header description: Initial request identifier example: 436c05d4-27b6-4a92-b7f1-5a829d55373a required: false schema: type: string - name: Authorization in: header description: Bearer access token authorization required: true schema: type: string responses: '200': description: File download. content: application/csv: schema: type: string format: binary headers: Content-Disposition: description: attachment; filename=data-points-20200601-20200228.csv schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '502': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse502' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' /v1/reports/{namespaces}: get: tags: - Reports summary: Generate reports in Excel format operationId: getStatisticsReports parameters: - name: namespaces description: Get statistics for a namespace or comma-separated list of namespaces in: path required: true schema: type: string example: abco.opp.screener,abco.opp.xray responses: '200': description: Excel report file containing monthly and quarterly usage stats and top security data content: application/vnd.ms-excel: schema: type: string format: base64 example: SGVsbG8gV29ybGQ= '401': description: The user is not authorised to perform this operation content: application/json: schema: type: object description: Generic error object properties: errorId: type: string format: uuid example: 100380c0-8f94-11ea-bc55-0242ac130003 message: type: string example: An error occurred '404': description: The requested resource does not exist content: application/json: schema: type: object description: Generic error object properties: errorId: type: string format: uuid example: 100380c0-8f94-11ea-bc55-0242ac130003 message: type: string example: An error occurred '500': description: An unexpected error occured content: application/json: schema: type: object description: Generic error object properties: errorId: type: string format: uuid example: 100380c0-8f94-11ea-bc55-0242ac130003 message: type: string example: An error occurred components: schemas: Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySector: type: object properties: Id: description: Possible values are GICS, Morningstar, or Institution defined Id type: string Portfolio: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectorExposureItem' Benchmark: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectorExposureItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectorExposureItemSecurity' Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersection: type: object properties: IncludeIndex: type: boolean Stock: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersectionItem' ConcentrationRatio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersectionConcentrationRatio' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.WorldRegions: type: object properties: Id: type: string Portfolio: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityRegionExposureItem' Benchmark: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityRegionExposureItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityRegionExposureItemSecurity' AssetClassPayload: title: AssetClassPayload type: object properties: label: type: string description: Asset label example: US Stocks count: type: number description: Asset value example: 24 MixInvestmentsHeader: title: MixInvestmentsHeader type: object properties: portfolio: type: string description: Header of the column for portfolio information. example: Portfolio highRisk: type: string description: Header of the column for high risk information. example: High Risk/Return % mediumRisk: type: string description: Header of the column for medium risk information. example: Medium Risk/Return % lowRisk: type: string description: Header of the column for low risk information. example: Low Risk/Return % description: Mix investments header Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InvestmentStyle: type: object properties: AsOfDate: format: date-time type: string FixedIncomeStyle: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeStyle' EquityStyle: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyle' Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecurityEndingMarketValueBreakdown: type: object properties: Principal: format: double type: number Income: format: double type: number CapGain: format: double type: number Report: type: object required: - id - name properties: reportId: type: string format: uuid example: ef11ef11-abcd-1234-0000-000000000000 storageId: type: string format: uuid example: ef11ef11-abcd-1234-0000-000000000000 households: $ref: '#/components/schemas/ArrayOfHouseholds' name: type: string example: Report ABCo accountName: type: string example: Brokerage targetAdvisorId: type: string format: uuid advisorName: type: string example: Advisor reportLevel: type: string example: Client target: type: string example: Brokerage createdAt: type: string format: date-time lastUpdated: type: string format: date-time publishedAt: type: string format: date-time example: 2019-01-02T01:59Z fileName: type: string format: string bucketId: type: string format: uuid example: bb11bb11-1111-0000-0000-000000000000 reportType: type: string enum: - portfolio-xray - snapshot - ToBeDecided format: type: string example: PDF uri: type: string format: domain 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.Output.XRay.Analysis.FixedIncomeStyle: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeStyleItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeStyleItem' FixedIncomeStyleBreakdown: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeStyleBreakdown' 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 Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectorExposureItemSecurity: type: object properties: SecurityId: type: string Sector: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectorExposureItem' Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.EquityType_: type: object properties: Id: enum: - AggressiveGrowth - ClassicGrowth - Cyclical - Distressed - HardAsset - HighYield - NotAvailable - SlowGrowth - SpeculativeGrowth type: string Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdownItemSecurity: type: object properties: SecurityId: type: string EquityStyleBreakdownItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdownItem' Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.HoldingsItem: type: object properties: AsOfDate: format: date-time type: string TopNetUnderlyingHoldings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.TopNetUnderlyingHoldings' PortfolioHoldings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.PortfolioHoldings' StockIntersection: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersection' OptionReport: title: OptionReport type: object properties: text: type: string description: Option text example: Extremely low risk taker. displayOrder: type: integer description: Question display order example: 1 selected: type: boolean description: True if the option was selected in stored responses example: false description: Option for report. Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentAssumptionSecurityItem: type: object properties: Sequence: format: int32 type: integer SecurityId: type: string AnnualFee: format: double type: number AnnualFeeType: enum: - Amount - Percentage type: string AnnualFeeFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string DeferredLoadPercent: description: values can be "0-0" type: string EndingMarketValue: format: double type: number FrontLoad: format: double type: number HoldingPeriodEndDate: format: date-time type: string HoldingPeriodStartDate: format: date-time type: string InitialInvestment: format: double type: number Liquidate: description: 'TODO: need to confirm this type' type: boolean RebalancePercent: format: double description: values can be "2004-06-29 - 2015-04-30" type: number ReinvestDistributionsCapGains: description: need to confirm this type type: boolean ReinvestDistributionsIncome: description: need to confirm this type type: boolean SubsequentInvestmentWithdrawalAmount: format: double type: number SubsequentInvestmentWithdrawalFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually type: string EntryExitFeeAmount: format: double type: number EntryExitFeeAmountType: enum: - Amount - Percentage type: string EntryExitFeeType: enum: - CustomEntry - CustomExit - None type: string TotalReturnPercent: format: double type: number PeriodYears: format: double type: number 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' Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersectionItemSource: type: object properties: SecurityId: type: string CUSIP: type: string FundPortfolioDate: format: date-time type: string PercentOfInvestments: format: double type: number MarketValue: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatiosItem: type: object properties: PriceBook: format: double type: number PriceCashFlow: format: double type: number PriceEarnings: format: double type: number PriceSales: format: double type: number RiskGroupPayload_2: type: object title: RiskGroupPayload description: Payload with risk group information containing a representation of a portfolio's table properties: title: type: string description: Title of the mix investments table example: Mix of Investments in Portfolio header: $ref: '#/components/schemas/MixInvestmentsHeader_2' mixInvestmentsPortfolio: type: array items: $ref: '#/components/schemas/InvestmentPortfolio_2' example: - portfolio: Portfolio 1 highRisk: 0 mediumRisk: 0 lowRisk: 100 - portfolio: Portfolio 2 highRisk: 0 mediumRisk: 30 lowRisk: 70 riskGroupCategories: type: array items: $ref: '#/components/schemas/RiskGroupCategory' example: - code: FINANCIAL_DECISIONS label: Making Financial Decisions questionDifferences: - questionId: FM25-10 message: You are prepared to take only a small degree of risk with your financial decisions. Morningstar.PortfolioAnalysis.Models.Input.XRay.WorldRegionGroupConfig: type: object properties: Id: type: string QuickPortInputId: type: string WorldRegionConfig: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.WorldRegionConfig' AssetClassPayload_2: type: object title: AssetClassPayload properties: label: type: string description: Asset label example: US Stocks count: type: number description: Asset value example: 24 category: type: string description: Asset category example: Bond 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_' 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 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.Hypo.PortfolioSummary: type: object properties: AsOfDate: format: date-time type: string PlanningAssumptions: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PlanningAssumptions' PortfolioSummaryPerformance: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryPerformance' InvestmentDetails: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentDetails' PortfolioSummaryChart: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryChart' Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritySummaryItem: type: object properties: SecurityId: type: string StartDate: format: date-time description: Based on IllustrationTrailingTimePeriod type: string EndDate: format: date-time description: Based on IllustrationTrailingTimePeriod type: string InitialInvestment: format: double type: number SubsequentInvestmentWithdrawalAmount: format: double type: number SubsequentInvestmentWithdrawalFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually type: string ReinvestDistributionsIncome: type: boolean ReinvestDistributionsCapGains: type: boolean Liquidate: type: boolean RebalanceFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually - Biennially - None type: string FrontLoad: format: double type: number AnnualFee: format: double type: number DeferredLoadAmount: description: current value in format of "0-0" type: string EndMarketValue: format: double type: number PeriodYears: format: double type: number HistoricalMonthEndPerformance: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' InvestmentDetails: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecurityInvestmentDetails' SecuritySummaryPerformance: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritySummaryPerformance' SecurityEndingMarketValueBreakdown: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecurityEndingMarketValueBreakdown' PlanningAssumptions: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PlanningAssumptions' EntryExitFeeAmount: format: double type: number EntryExitFeeAmountType: enum: - Amount - Percentage type: string EntryExitFeeType: enum: - CustomEntry - CustomExit - None type: string BenchmarkPerformance: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.BenchmarkPerformance' NetAmountInvested: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Principal: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Income: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' CapGain: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.ProfitabilityItem: type: object properties: DebtCapital: format: double type: number NetMargin: format: double type: number ROA: format: double type: number ROE: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectors: type: object properties: EquitySector: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySector' 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_' Morningstar.PortfolioAnalysis.Models.Input.Report.CoverPage: type: object properties: ReportTitle: type: string PreparedFor: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.PreparedFor' PreparedBy: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.PreparedBy' Morningstar.PortfolioAnalysis.Models.Output.Hypo.ReturnDataItem: type: object properties: Id: format: int32 type: integer Date: type: string Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Input.Report.RiskToleranceQuestionnaire: type: object properties: Sections: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.QuestionnaireSection' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityRegionExposureItem: type: object properties: Id: description: Parent/Rollup type: string Value: format: double type: number ExposureItem: description: Children of a grouping. Can't use enum because they can be client specific and have different classifications (Morningstar, Institution specific) type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' ArrayOfPublishB: type: array items: $ref: '#/components/schemas/PublishB' ArrayOfHouseholdUuid: type: array items: type: string format: uuid example: cd11cd11-cdef-5678-0000-000000000000 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 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' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeStyleBreakdown: type: object properties: AsOfDate: format: date-time type: string HighLtd: format: double type: number HighMod: format: double type: number HighExt: format: double type: number MedLtd: format: double type: number MedMod: format: double type: number MedExt: format: double type: number LowLtd: format: double type: number LowMod: format: double type: number LowExt: format: double type: number Unclassified: format: double type: number 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 DifferencePayload_2: type: object title: DifferencePayload properties: group: type: string description: Question risk group column by key difference map. (VERY_LOW, LOW, AVERAGE, HIGH, VERY_HIGH) example: VERY_LOW type: type: string description: Difference type. (STANDARD, RISKIER, LESS_RISKY) example: STANDARD value: type: integer description: Difference value from key difference map. example: '-1' text: type: string description: Text that describe if the question is riskier or less risky than the Very High/Very Low risk group. example: Your answer was actually riskier than the most risky typically given by those in risk group. category: type: string description: Category of the question. (FINANCIAL_DECISIONS, EMPLOYMENT, FINANCIAL_DISAPPOINTMENTS, FINANCIAL_PAST, INVESTMENT, GOVERNMENT_BENEFITS_TAXES) example: FINANCIAL_DECISIONS SectionPayload_2: type: object title: SectionPayload description: Section that contains id, header, array of paragraphs that are going to be part of the report properties: header: type: string description: header of the section example: About Risk Tolerance paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport_2' 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_' Morningstar.PortfolioAnalysis.Models.Output.Hypo.MedianReturn: type: object properties: ReturnData: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.ReturnDataItem' 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' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.Profitability: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.ProfitabilityItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.ProfitabilityItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.ProfitabilityItemSecurity' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleItemSecurity: type: object properties: SecurityId: type: string EquityStyleItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleItem' RiskGroupLabel_2: type: object title: RiskGroupLabel properties: groupName: type: string description: Name of the risk group example: Average range: type: string description: Range of the score within the risk group example: 45-54 Morningstar.PortfolioAnalysis.Models.Output.XRay.XRays: type: object properties: XRay: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.XRay' SecurityReference: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.SecurityItem' SectionSuitabilityScorePayload: title: SectionSuitabilityScorePayload type: object properties: header: type: string description: Header of the section example: Portfolio Suitability paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport' payloadSuitabilityScore: $ref: '#/components/schemas/SuitabilityScorePayload' description: Section for suitability score Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.PortfolioStatisticsSummary: type: object properties: PortfolioValue: format: double type: number Currency: description: Ignore value in the view definition. This will be set correctly as part of the response. enum: - AUD - CAD - CNY - EUR - GBP - INR - JPY - USD type: string PortfolioDate: format: date-time type: string EquityCount: format: int32 type: integer FixedIncomeCount: format: int32 type: integer PortfolioYield: description: Currently only support PortfolioYield12Month type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.PortfolioYieldTrailingTimePeriod_' ErrorResponse404: title: ErrorResponse type: object properties: message: type: string description: Error Message example: Server can't find the requested resource status: type: string description: Error Status example: NOT_FOUND timestamp: type: string description: Error Timestamp example: 2020-08-05T13:40:25+0000 Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecurityInvestmentDetails: type: object properties: SecurityDetails: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentDetailsItem' ArrayOfHouseholds: type: array items: $ref: '#/components/schemas/Households' 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 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.Output.Performance.RollingReturns: type: object properties: RollingReturn: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.RollingReturn' RiskGroupCategory: type: object title: RiskGroupCategory properties: code: type: string description: Category of the question. (FINANCIAL_DECISIONS, EMPLOYMENT, FINANCIAL_DISAPPOINTMENTS, FINANCIAL_PAST, INVESTMENT, GOVERNMENT_BENEFITS_TAXES) example: FINANCIAL_DECISIONS label: type: string description: Category description example: Making Financial Decisions questionDifferences: type: array description: List of question differences items: $ref: '#/components/schemas/QuestionDifference' Morningstar.PortfolioAnalysis.Models.Output.PortfolioBenchmarkHolding: type: object properties: SecurityId: type: string Weight: format: double type: number Morningstar.PortfolioAnalysis.Models.Input.AssetClassConfig: type: object properties: Id: type: string Name: type: string Color: type: string BorderColor: type: string Index: type: string Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.FundStatistics: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.FundStatisticsItem' 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 SectionSuitabilityScorePayload_2: type: object title: SectionSuitabilityScorePayload description: Section for suitability score properties: header: type: string description: header of the section example: Portfolio Suitability paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport_2' payloadSuitabilityScore: $ref: '#/components/schemas/SuitabilityScorePayload_2' 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' SectionRiskToleranceScorePayload_2: type: object title: SectionRiskToleranceScorePayload description: Section with risk tolerance score information properties: header: type: string description: header of the section example: Here’s how you scored compared to other investors. paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport_2' payloadComparedToInvestors: $ref: '#/components/schemas/ComparedToInvestorsPayload_2' 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' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetAllocationSecurity: type: object properties: SecurityId: type: string AssetClass: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetClassItem' Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryChart: type: object properties: Frequency: enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryChartItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryChartItem' NetAmountInvested: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' YourDifferencesPayload_2: type: object title: YourDifferencesPayload description: Information for your differences details properties: questions: type: array items: $ref: '#/components/schemas/QuestionReport_2' YourDifferencesPayload: title: YourDifferencesPayload type: object properties: questions: type: array items: $ref: '#/components/schemas/QuestionReport' description: Information for your differences details. Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdownItem: type: object properties: LargeValue: format: double type: number LargeBlend: format: double type: number LargeGrowth: format: double type: number MidValue: format: double type: number MidBlend: format: double type: number MidGrowth: format: double type: number SmallValue: format: double type: number SmallBlend: format: double type: number SmallGrowth: format: double type: number Unclassified: format: double type: number OptionReport_2: type: object title: Option for report properties: text: type: string description: Option text example: Extremely low risk taker. displayOrder: type: integer description: Question display order example: 1 selected: type: boolean description: True if the option was selected in stored responses example: false 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' QuestionReport_2: type: object title: QuestionReport properties: title: type: string description: Question title text example: Self-Rating text: type: string description: Option text example: Compared to others, how do you rate your willingness to take financial risks? displayOrder: type: integer description: Question display order example: 1 options: type: array items: $ref: '#/components/schemas/OptionReport_2' difference: $ref: '#/components/schemas/DifferencePayload_2' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeMaturity: type: object properties: Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeMaturityItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeMaturityItem' Morningstar.PortfolioAnalysis.Models.Input.Report.RiskProfile: type: object properties: labelId: type: string profileTypeID: type: string profileID: type: string description: type: string Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecurityReturnsItem: type: object properties: SecurityId: type: string ReturnData: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.ReturnDataItem' Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_: type: object properties: Id: type: string Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Input.Report.targetassetPiechart: type: object properties: compitem: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.targetassetPiechartCompitem' tp: type: string chart: type: string profileId: type: string id: type: string Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectorExposureItem: type: object properties: Id: description: Parent/Rollup type: string Value: format: double type: number ExposureItem: description: Children. Can't use enum because they can be client specific and have different classifications (GICS, Morningstar, Institution specific) type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentDetailsItem: description: 'TODO: check all the types and possible values for properties in this class' type: object properties: Sequence: format: int32 type: integer BeginningBalance: format: double type: number StartDate: format: date-time type: string EndDate: format: date-time type: string ChargesFees: format: double type: number DistributionWithdrawal: format: double type: number MarketValue: format: double type: number NewInvestment: format: double type: number TaxesDue: format: double type: number TotalReinvest: format: double type: number TotalReturnPercent: format: double type: number SuitabilityScorePayload: title: SuitabilityScorePayload type: object properties: suitabilityScore: type: integer description: Suitability core number example: 52 investmentPolicies: type: array items: $ref: '#/components/schemas/InvestmentPolicyReport' description: Information for your suitability score Morningstar.PortfolioAnalysis.Models.Output.Hypo.PlanningAssumptions: type: object properties: Currency: enum: - AUD - CAD - CNY - EUR - GBP - INR - JPY - USD type: string RebalanceFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually - Biennially - None type: string IllustrationTrailingTimePeriod: enum: - YearToDate - Year1 - Year3 - Year5 - Year10 - SinceInception - EarliestAvailable - EarliestCommon - Customized type: string RebalanceThreshold: format: double type: number AllocationUpdateFrequency: enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string FederalIncomeTaxRate: format: double type: number CapitalGainTaxRate: format: double type: number StateIncomeTaxRate: format: double type: number CanadianIncomeMarginalTaxRate: format: double type: number CanadianDividendMarginalTaxRate: format: double type: number CanadianCapitalGainsMarginalTaxRate: format: double type: number PayTaxes: enum: - OutOfPocket - SalesOfShares type: string PayFees: enum: - OutOfPocket - SalesOfShares type: string Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.PortfolioHoldings: type: object properties: AsOfDate: format: date-time type: string Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.PortfolioHolding' SectionYourDifferencesPayload_2: type: object title: SectionYourDifferencesPayload description: Section with your differences information properties: header: type: string description: header of the section example: Your Differences paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport_2' payloadYourDifferences: $ref: '#/components/schemas/YourDifferencesPayload_2' Morningstar.PortfolioAnalysis.Models.Output.XRay.SecurityFees: type: object properties: AsOfDate: format: date-time type: string Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.SecurityFeesSecurity' Morningstar.PortfolioAnalysis.Models.Input.Report.QuestionnaireSectionQuestion: type: object properties: refId: type: string responseRefId: type: string questionnaireImage: type: string ReportResponsePayload: title: ReportResponsePayload type: object properties: title: type: string description: Report's main title example: Risk Tolerance Results completedDate: type: string description: Questionnaire complete date (yyyy-mm-dd) example: '2020-05-28T00:00:00.000Z' sectionRiskTolerance: $ref: '#/components/schemas/SectionPayload' sectionUsingYourProfile: $ref: '#/components/schemas/SectionPayload' sectionRiskToleranceScore: $ref: '#/components/schemas/SectionRiskToleranceScorePayload' sectionRiskGroup: $ref: '#/components/schemas/SectionRiskGroupPayload' sectionYourDifferences: $ref: '#/components/schemas/SectionYourDifferencesPayload' sectionSuitabilityScore: $ref: '#/components/schemas/SectionSuitabilityScorePayload' sectionFooter: $ref: '#/components/schemas/SectionPayload' description: Content of the risk tolerance report with sections for static text, questionnaire responses, score values and footnotes. Morningstar.PortfolioAnalysis.Models.Input.Report.TargetAssetAllocation: type: object properties: piechart: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.targetassetPiechart' name: type: string Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityRegionExposureItemSecurity: type: object properties: SecurityId: type: string Region: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityRegionExposureItem' Morningstar.PortfolioAnalysis.Models.Input.XRay.FixedIncomeSectorGroupConfig: type: object properties: Id: type: string QuickPortInputId: type: string FixedIncomeSectorConfig: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.FixedIncomeSectorConfig' Morningstar.PortfolioAnalysis.Models.Input.Report.PreparedByAdvisor: type: object properties: Name: type: string Title: type: string Email: type: string 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' Morningstar.PortfolioAnalysis.Models.Input.Report.ReportSettings: type: object properties: ReportOrientation: enum: - Portrait - Landscape type: string staticPDFs: type: array items: type: string IncludeDisclosure: type: boolean CoverPage: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.CoverPage' RiskQuestionnaire: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.RiskToleranceQuestionnaire' TargetAssetAllocation: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.TargetAssetAllocation' InvestorProfile: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.InvestorProfile' ReportPages: type: array items: enum: - HistoricalPerformance - PortfolioSnapshot - PortfolioXRay - StockIntersection - CorrelationMatrix - RollingReturns - PriceAndDistribution - InvestmentDetail - InvestmentPolicyAgreement - PortfolioComparison - RiskQuestionnaire - TargetAssetAllocation - IndividualInvestmentFee - PortfolioComparisonFee - PortfolioFeeReport - Disclosure - PlanLookup - Agreement type: string InvestmentPolicyAgreement: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.InvestmentPolicyAgreement' ReportPermission: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.ReportPermission' ShowBarCode: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.ReportBarCode' ExpectedReturn: format: double type: number QuestionDifference: type: object title: QuestionDifference properties: questionId: type: string description: Question Id example: FM25-10 message: type: string description: Message example: You are prepared to take only a small degree of risk with your financial decisions. RiskGroupPayload: title: RiskGroupPayload type: object properties: title: type: string description: Title of the mix investments table example: Mix of Investments in Portfolio headers: $ref: '#/components/schemas/MixInvestmentsHeader' mixInvestmentsPortfolio: type: array example: - portfolio: Portfolio 1 highRisk: 0 mediumRisk: 0 lowRisk: 100 - portfolio: Portfolio 2 highRisk: 0 mediumRisk: 30 lowRisk: 70 items: $ref: '#/components/schemas/InvestmentPortfolio' description: Payload with risk group information containing a representation of a portfolio's table. Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityMarketMaturityItem: type: object properties: DevelopedMarkets: format: double type: number EmergingMarkets: format: double type: number NotAvailable: format: double type: number Morningstar.PortfolioAnalysis.Models.Input.Report.InvestmentPolicyAgreement: type: object properties: Name1: type: string Name2: type: string SectionYourDifferencesPayload: title: SectionYourDifferencesPayload type: object properties: header: type: string description: Header of the section example: Your differences paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport' payloadYourDifferences: $ref: '#/components/schemas/YourDifferencesPayload' description: Section with your differences information. Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatios: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatiosItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatiosItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatiosItemSecurity' Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoView: required: - Id type: object properties: Id: description: this will look up the view definition defined by configuration type: string Hypos: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.Hypos' 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 PublishB: type: object properties: reportId: type: string format: uuid example: ef22ef22-efef-5678-0000-000000000000 Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdown: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdownItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdownItemSecurity' 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' 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' Morningstar.PortfolioAnalysis.Models.Input.Report.QuestionnaireSection: type: object properties: textId: type: string titleId: type: string notDrawSolidline: type: boolean Questions: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.QuestionnaireSectionQuestion' ArrayOfReportUuid: type: array items: type: string format: uuid example: ef11ef11-abcd-1234-0000-000000000000 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' Assign: type: object required: - reportId - bucketId properties: reportName: type: string example: ABCo portfolio-xray format: type: string example: PDF reportId: type: string format: uuid example: ef11ef11-abcd-1234-0000-000000000000 bucketId: type: string format: uuid example: bb11bb11-1111-0000-0000-000000000000 households: $ref: '#/components/schemas/ArrayOfHouseholds' Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritySummaryPerformance: type: object properties: AverageAnnualizedReturn: format: double type: number CumulativeReturn: format: double type: number Day7Yield: format: double type: number 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_' Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritiesReturns: type: object properties: MedianReturn: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.MedianReturn' Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecurityReturnsItem' Morningstar.PortfolioAnalysis.Models.Input.XRay.StockIntersectionConfig: type: object properties: ApiDataPoints: type: string Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentAssumption: type: object properties: Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentAssumptionSecurityItem' Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisConfig: type: object properties: Id: description: this will look up the configuration settings type: string PerformanceOptional: type: boolean PerformanceConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceConfig' XRayConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.XRayConfig' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.ProfitabilityItemSecurity: type: object properties: SecurityId: type: string ProfitabilityItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.ProfitabilityItem' 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' SuitabilityScorePayload_2: type: object title: SuitabilityScorePayload description: Information for your suitability score properties: suitabilityScore: type: integer description: suitability core number example: 52 investmentPolicies: type: array items: $ref: '#/components/schemas/InvestmentPolicyReport_2' Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentDetails: type: object properties: PortfolioDetails: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentDetailsItem' PortfolioTotalDistributionAndWithdrawal: format: double type: number PortfolioTotalNewInvestment: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalizationItem: type: object properties: Value: format: double type: number 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 Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.Int32_: type: object properties: Id: format: int32 type: integer Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Input.Report.ReportBarCode: type: object properties: Text: type: string Height: format: double type: number Width: format: double type: number InvestmentPortfolio_2: type: object title: InvestmentPortfolio description: Investment portfolio object that represents the mix of investments in portfolio properties: portfolio: type: string description: portfolio's name example: Portfolio 1 highRisk: type: integer description: High risk value example: 1 mediumRisk: type: integer description: Medium risk value example: 0 lowRisk: type: integer description: Low risk value example: 100 Households: type: object properties: householdId: type: string format: uuid example: cd11cd11-cdef-5678-0000-000000000000 name: type: string ArrayOfPublishA: type: array items: $ref: '#/components/schemas/PublishA' PublishA: type: object properties: reportId: type: string format: uuid example: ef11ef11-abcd-1234-0000-000000000000 Morningstar.PortfolioAnalysis.Models.Output.PortfolioBenchmark: type: object properties: Type: description: Ignore value in the view definition. This will be set correctly as part of the response. enum: - Standard - AutoAsset - AutoCategory - Custom type: string Holdings: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PortfolioBenchmarkHolding' 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 Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleItem: type: object properties: AverageMarketCap: format: double type: number ProspectivePriceBook: format: double type: number ProspectivePriceCashFlow: format: double type: number ProspectivePriceEarnings: format: double type: number ProspectivePriceSales: format: double type: number InvestmentPortfolio: title: InvestmentPortfolio type: object properties: portfolio: type: string description: portfolio's name example: Portfolio 1 highRisk: type: integer description: High risk value example: 1 mediumRisk: type: integer description: Medium risk value example: 0 lowRisk: type: integer description: Low risk value example: 100 description: Investment portfolio object that represents the mix of investments in portfolio. ReportResponsePayload_2: type: object title: ReportResponsePayload description: Content of the risk tolerance report with sections for static text, questionnaire responses, score values and footnotes. properties: title: type: string description: report's main title example: Risk Tolerance Results completedDate: type: string example: '2020-05-28' description: Questionnaire complete date (yyyy-mm-dd) sectionRiskTolerance: $ref: '#/components/schemas/SectionPayload_2' sectionUsingYourProfile: $ref: '#/components/schemas/SectionPayload_2' sectionRiskToleranceScore: $ref: '#/components/schemas/SectionRiskToleranceScorePayload_2' sectionRiskGroup: $ref: '#/components/schemas/SectionRiskGroupPayload_2' sectionYourDifferences: $ref: '#/components/schemas/SectionYourDifferencesPayload_2' sectionSuitabilityScore: $ref: '#/components/schemas/SectionSuitabilityScorePayload_2' sectionFooter: $ref: '#/components/schemas/SectionPayload_2' Publish: type: object required: - reportId - bucketId properties: enabled: type: boolean success: $ref: '#/components/schemas/ArrayOfPublishA' failure: $ref: '#/components/schemas/ArrayOfPublishB' Morningstar.PortfolioAnalysis.Models.Output.XRay.XRay: type: object properties: PortfolioName: type: string AnalysisDate: format: date-time type: string AnalysisDateTimePeriod: enum: - MonthEnd - QuarterEnd type: string ReturnMethodology: enum: - QuickPortfolio - Hypothetical type: string Analysis: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AnalysisItem' Holdings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.HoldingsItem' Statistics: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.StatisticsItem' PortfolioBenchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PortfolioBenchmark' Returns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Performance.Returns' SecurityFees: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.SecurityFees' Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisRequestSettings: type: object properties: OutputCurrency: enum: - AUD - CAD - CNY - EUR - GBP - INR - JPY - USD type: string AnalysisDateTimePeriod: enum: - MonthEnd - QuarterEnd type: string AssetClassGroupConfigs: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfigs' OutputReturnsFrequency: description: Default should be annually enum: - Monthly - Quarterly - SemiAnnually - Annually - None type: string IncludePortfolioInCorrelationMatrix: type: boolean RollingReturnFrequency: enum: - Month3 - Month6 - Year1 - Year3 - Year5 - Year10 type: string HypoCalculationSettings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoCalculationSettings' ReportSettings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.ReportSettings' SectionPayload: title: SectionPayload type: object properties: header: type: string description: Header of the section example: About Risk Tolerance paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport' description: Section that contains id, header, array of paragraphs that are going to be part of the report. Morningstar.PortfolioAnalysis.Models.Input.Report.PreparedBy: type: object properties: Advisors: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.PreparedByAdvisor' FirmName: type: string Address1: type: string Address2: type: string City: type: string State: description: To be used for Province in Canada type: string Zipcode: description: To be used for Postal Code in Canada type: string Country: type: string Phone: type: string Website: type: string ABN: description: Australia only type: string AFSL: description: Australia only type: string Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisInputSettings: type: object properties: View: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisView' Config: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisConfig' RequestSettings: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisRequestSettings' Portfolios: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.PortfolioInput' example: View: Id: PDF Config: Id: PDF RequestSettings: OutputCurrency: USD AnalysisDateTimePeriod: MonthEnd AssetClassGroupConfigs: AssetClassGroupConfig: - Id: ACG-USDETAILED-15 - Id: ACG-USBROAD OutputReturnsFrequency: Annually IncludePortfolioInCorrelationMatrix: true RollingReturnFrequency: Month3 ReportSettings: ReportOrientation: Portrait IncludeDisclosure: true ReportPermission: AllowAnnotation: false AllowPrint: false AllowCopy: false AllowContent: false CoverPage: ReportTitle: ReportTitle PreparedFor: Name: PreparedForName Address: PreparedForAddress City: PreparedForCity Phone: PreparedForPhone Email: PreparedForEmail PreparedBy: Advisors: - Name: PreparedByAdvisorName1 Title: PreparedByAdvisorTitle1 Email: PreparedByAdvisorEmail1 - Name: PreparedByAdvisorName2 Title: PreparedByAdvisorTitle2 Email: PreparedByAdvisorEmail2 FirmName: PreparedByFirmName Address1: PreparedByAddress1 Address2: PreparedByAddress2 City: PreparedByCity State: PreparedByState Zipcode: PreparedByZipcode Country: PreparedByCountry Phone: PreparedByPhone Website: PreparedByWebsite ReportPages: - PortfolioXRay - PortfolioSnapshot InvestmentPolicyAgreement: Name1: Name1 Name2: Name2 HypoReportType: Portfolio Portfolios: - Name: TestPortfolio1 TotalValue: 100000 Currency: USD Holdings: - SecurityId: F00000VCTT Weight: 20 - SecurityId: 0P00002NW8 Weight: 10 - TradingSymbol: AAPL Weight: 15 - ISIN: US09251T1034 Weight: 35 - CUSIP: '256219106' Weight: 20 Benchmark: Type: Standard Holdings: - SecurityId: XIUSA04G92 Type: XI Weight: 100 Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersectionConcentrationRatio: type: object properties: TopStocksPercent: format: double type: number OtherStocksPercent: format: double type: number TopNumberOfStocks: format: int32 type: integer InvestmentPolicyReport: title: InvestmentPolicyReport type: object properties: id: type: string description: Unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a title: type: string description: Investment policy title example: Conservative text: type: string description: Investment policy text example: As a conservative investor, your portfolio will be invested in the most risk-averse areas such as cash and fixed-income securities. min: type: integer description: Minimum score range example: 10 max: type: integer description: Maximum score range example: 30 assetClass: type: array items: $ref: '#/components/schemas/AssetClassPayload' description: Investment policy report Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRiskItem: type: object properties: Maturity: format: double type: number MaturityPercentAnalyzed: format: double type: number YieldToMaturity: format: double type: number ModifiedDuration: format: double type: number EffectiveDuration: format: double type: number EffectiveDurationPercentAnalyzed: format: double type: number WTDCoupon: format: double type: number WTDPrice: format: double type: number AverageCreditQuality: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetClassItem: type: object properties: Id: type: string Long: format: double type: number Short: format: double type: number Net: format: double type: number RescaledLong: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.SecurityFeesSecurity: type: object properties: SecurityId: type: string FrontLoadFee: format: double type: number DeferredLoadFee: format: double type: number ManagementFees: format: double type: number Expense12b1: format: double type: number NetExpenseRatio: format: double type: number GrossExpenseRatio: format: double type: number AnnualReportNetExpenseRatio: format: double type: number AnnualReportGrossExpenseRatio: format: double type: number TotalExpenseRatio: format: double type: number ManagementExpenseRatio: format: double type: number IndirectCostRatio: format: double type: number OnGoingCharge: format: double type: number KIIDOnGoingCharge: format: double type: number ReportListSingle: type: object required: - reportId - name properties: metadata: $ref: '#/components/schemas/ReportMetaDataSingle' results: type: array items: $ref: '#/components/schemas/Report' 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' Morningstar.PortfolioAnalysis.Models.Input.Report.targetassetPiechartCompitem: type: object properties: itemname: type: string classid: type: string alias: type: string color: type: string net: type: string SectionRiskGroupPayload_2: type: object title: SectionRiskGroupPayload description: Section with risk group information properties: header: type: string description: header of the section example: About Your Risk Group paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport_2' payloadRiskGroup: $ref: '#/components/schemas/RiskGroupPayload_2' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeStyleItem: type: object properties: EffectiveDuration: format: double type: number EffectiveMaturity: format: double type: number ErrorResponse502: title: ErrorResponse type: object properties: message: type: string description: Error Message example: Received an invalid response from the upstream server status: type: string description: Error Status example: BAD_GATEWAY timestamp: type: string description: Error Timestamp example: 2020-08-05T13:40:25+0000 Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetAllocation: type: object properties: Id: description: Asset Class Group Id type: string AsOfDate: format: date-time type: string Portfolio: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetClassItem' Benchmark: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetClassItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetAllocationSecurity' Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem: type: object properties: Alpha: format: double type: number Beta: format: double type: number RSquared: format: double type: number MixInvestmentsHeader_2: type: object title: MixInvestmentsHeader properties: portfolio: type: string description: Header of the column for portfolio information. example: Portfolio highRisk: type: string description: Header of the column for high risk information. example: High Risk/Return % mediumRisk: type: string description: Header of the column for medium risk information. example: Medium Risk/Return % lowRisk: type: string description: Header of the column for low risk information. example: Low Risk/Return % Morningstar.PortfolioAnalysis.Models.Output.Hypo.Hypos: type: object properties: PerformanceDate: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate' Hypo: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.Hypo' SecurityReference: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.SecurityItem' Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.TopNetUnderlyingHoldings: type: object properties: AsOfDate: format: date-time type: string TopNumber: format: int32 type: integer Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.TopNetUnderlyingHoldingsSecurity' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeSectors: type: object properties: AsOfDate: format: date-time type: string Id: description: Possible values Morningstar, or Institution defined Id type: string Portfolio: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Benchmark: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AnalysisItem: type: object properties: AssetAllocation: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.AssetAllocation' EquityAnalysis: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityAnalysis' FixedIncomeAnalysis: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeAnalysis' InvestmentStyle: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InvestmentStyle' 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' 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 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' AssignInput: type: object required: - reportIds - householdIds properties: reportIds: $ref: '#/components/schemas/ArrayOfReportUuid' householdIds: $ref: '#/components/schemas/ArrayOfHouseholdUuid' Morningstar.PortfolioAnalysis.Models.Input.XRay.XRayView: type: object properties: Id: description: this will look up the view definition defined by configuration type: string XRays: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.XRays' Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritySummary: type: object properties: Security: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritySummaryItem' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyle: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleItem' EquityStyleBreakdown: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleBreakdown' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityStyleItemSecurity' Morningstar.PortfolioAnalysis.Models.Input.XRay.XRayConfig: type: object properties: Id: description: this will look up the configuration settings type: string ReturnMethodology: enum: - QuickPortfolio - Hypothetical type: string FixedIncomeSectorGroupConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.FixedIncomeSectorGroupConfig' StockIntersectionConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.StockIntersectionConfig' EquitySectorGroupConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.EquitySectorGroupConfig' WorldRegionGroupConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.WorldRegionGroupConfig' AssetClassGroupConfig: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.AssetClassGroupConfig' IncludeStockIntersectionIndexData: type: boolean Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRisk: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRiskItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRiskItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRiskItemSecurity' 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' Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersectionItem: type: object properties: SecurityId: type: string SecurityName: type: string CUSIP: type: string TradingSymbol: type: string PercentOfInvestments: format: double type: number MarketValue: format: double type: number StockSector: description: 'TODO: should this be an enum instead of a string?' type: string SourceOfStock: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.StockIntersectionItemSource' 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 SectionRiskToleranceScorePayload: title: SectionRiskToleranceScorePayload type: object properties: header: type: string description: Header of the section example: About Risk Tolerance paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport' payloadComparedToInvestors: $ref: '#/components/schemas/ComparedToInvestorsPayload' description: Section with risk tolerance score information. Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityTypeBreakdownItemSecurity: type: object properties: SecurityId: type: string EquityTypeBreakdownItem: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.EquityType_' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeMaturityItem: type: object properties: Maturity: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.FixedIncomeMaturityPeriod_' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalization: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalizationItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalizationItem' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalizationItemSecurity' Morningstar.PortfolioAnalysis.Models.Output.Hypo.BenchmarkPerformance: type: object properties: Name: type: string Performance: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' 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' 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 Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.FixedIncomeMaturityPeriod_: type: object properties: Id: enum: - Years1to3 - Years3to5 - Years5to7 - Years7to10 - Years10to15 - Years15to20 - Years20to30 - YearsOver30 type: string Value: format: double type: number ReportMetaData: type: object properties: startdate: type: string example: YYYY-MM-DD description: Date or empty. enddate: type: string example: YYYY-MM-DD description: Date or empty. bucketId: type: string format: uuid example: bb11bb11-1111-0000-0000-000000000000 description: BucketId or empty in special cases. items: type: integer example: 1 description: Number of reports found. SectionRiskGroupPayload: title: SectionRiskGroupPayload type: object properties: header: type: string description: Header of the section example: About Your Risk Group paragraphs: type: array items: $ref: '#/components/schemas/ParagraphReport' payloadRiskGroup: $ref: '#/components/schemas/RiskGroupPayload' description: Section with risk group information. Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryChartItem: type: object properties: StartDate: format: date-time type: string Data: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_System.String_' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeAnalysis: type: object properties: AsOfDate: format: date-time type: string FixedIncomeSectors: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeSectors' FixedIncomeMaturity: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.FixedIncomeMaturity' CreditQuality: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.CreditQuality' InterestRateRisk: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRisk' Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsSecurityItem: type: object properties: SecurityId: type: string MPTStatisticsItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Risk.MPTStatisticsItem' Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityTypeBreakdown: type: object properties: AsOfDate: format: date-time type: string Portfolio: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.EquityType_' Benchmark: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.EquityType_' SecurityBreakdown: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityTypeBreakdownItemSecurity' ParagraphReport_2: type: object title: ParagraphReport properties: content: type: string description: Paragraph text example: Compared to others, how do you rate your willingness to take financial risks? isHtml: type: boolean example: false description: True if the text field is an HTML markup, otherwise text field is plain text isImage: type: boolean example: true description: True if the `content` field is a base64 encoded image, otherwise is regular text displayOrder: type: integer example: 1 description: Paragraph display order Morningstar.PortfolioAnalysis.Models.Input.Report.PreparedFor: type: object properties: Name: type: string Address: type: string City: type: string Phone: type: string Email: type: string ReportList: type: object required: - reportId - name properties: metadata: $ref: '#/components/schemas/ReportMetaData' results: type: array items: $ref: '#/components/schemas/Report' Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.TopNetUnderlyingHoldingsSecurity: type: object properties: SecurityId: type: string PercentAssets: format: double type: number FundCategory: type: string EquitySector: description: Institution specific sector configuration type: string FixedIncomeSector: type: string Industry: type: string Country: description: Needs to be ISO country code type: string DifferencePayload: title: DifferencePayload type: object properties: group: type: string description: Question risk group column by key difference map. (VERY_LOW, LOW, AVERAGE, HIGH, VERY_HIGH) example: VERY_LOW type: type: string description: Difference type. (STANDARD, RISKIER, LESS_RISKY) example: STANDARD value: type: integer description: Difference value from key difference map. example: -1 text: type: string description: Text that describe if the question is riskier or less risky than the Very High/Very Low risk group. example: Your answer is riskier than the most risky answer typically given by someone in the Very High risk group. description: Difference payload ComparedToInvestorsPayload_2: type: object title: ComparedToInvestorsPayload description: Payload with information about the comparison with other investors. properties: calculatedScore: type: integer description: Calculated score example: 52 agreedScore: type: integer description: Agreed Score example: 52 calculatedRiskGroup: type: string description: Calculated risk group example: Average calculatedRiskGroupValue: type: string description: Calculated risk group code example: AVERAGE agreedRiskGroup: type: string description: Agreed risk group example: Average agreedChangedDate: type: string description: Agreed change date example: '2020-06-01' completedDate: type: string description: Calculated date example: '2020-06-01' inconsistencyHeading: type: string description: Inconsistency heading example: Review Your Differences inconsistencyMessage: type: string description: Inconsistency message example: Based on how your answers differed, we recommend discussing your risk tolerance further with a financial professional. adjustedHeading: type: string description: Adjusted heading example: Suggested Score. adjustedMessage: type: string description: Adjusted message example: Based on how some of your answers differed from others in your risk group, it is recommended that your risk score be adjusted from 42 to 46. adjustedScore: type: integer description: Adjusted score example: 42 adjustedRiskGroup: type: string description: Adjusted risk group example: Low riskGroupLabels: type: array items: $ref: '#/components/schemas/RiskGroupLabel_2' Morningstar.PortfolioAnalysis.Models.Output.Hypo.Hypo: type: object properties: PortfolioName: type: string PerformanceDate: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.PerformanceDate' InvestmentAssumption: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.InvestmentAssumption' PortfolioSummary: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummary' SecuritySummary: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritySummary' SecuritiesReturns: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.Hypo.SecuritiesReturns' Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.StatisticsItem: type: object properties: PortfolioSummary: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.PortfolioStatisticsSummary' FundStatistics: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.FundStatistics' Morningstar.PortfolioAnalysis.Models.Input.XRay.FixedIncomeSectorConfig: type: object properties: Id: type: string QuickPortId: type: string Morningstar.PortfolioAnalysis.Models.Input.Report.ReportPermission: type: object properties: AllowPrint: type: boolean AllowCopy: type: boolean AllowContent: type: boolean AllowAnnotation: type: boolean Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.CreditQualityItem: type: object properties: AAA: format: double type: number AA: format: double type: number A: format: double type: number BBB: format: double type: number BB: format: double type: number B: format: double type: number BelowB: format: double type: number NotRated: format: double type: number ParagraphReport: title: ParagraphReport type: object properties: content: type: string description: Paragraph text example: Compared to others, how do you rate your willingness to take financial risks? isHtml: type: boolean description: True if the text field is an HTML markup, otherwise text field is plain text example: true isImage: type: boolean description: True if the `content` field is a base64 encoded image, otherwise is regular text example: false displayOrder: type: integer description: Paragraph display order example: 1 description: Option for report. ComparedToInvestorsPayload: title: ComparedToInvestorsPayload type: object properties: calculatedScore: type: integer description: Calculated score example: 52 agreedScore: type: integer description: Agreed score example: 52 calculatedRiskGroup: type: string description: Calculated risk group example: Average calculatedRiskGroupValue: type: string description: Calculated risk group code example: AVERAGE agreedRiskGroup: type: string description: Agreed risk group example: Average agreedChangedDate: type: string description: Agreed change date example: '2020-06-01T00:00:00.000Z' completedDate: type: string description: Calculated date example: '2020-06-01T00:00:00.000Z' riskGroupLabels: type: array items: $ref: '#/components/schemas/RiskGroupLabel' description: Payload with information about the comparison with other investors. Morningstar.PortfolioAnalysis.Models.Input.PortfolioAnalysis.PortfolioAnalysisView: type: object properties: Id: description: this will look up the view definition defined by configuration type: string XRayView: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.XRayView' HypoView: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Hypo.HypoView' PerformanceView: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Performance.PerformanceView' ReportMetaDataSingle: type: object properties: items: type: integer example: 1 description: Number of reports found. 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 Morningstar.PortfolioAnalysis.Models.Input.XRay.WorldRegionConfig: type: object properties: Id: type: string QuickPortId: type: string QuickPortRegionText: type: string QuickPortParentRegionText: type: string Morningstar.PortfolioAnalysis.Models.Output.XRay.Holdings.PortfolioHolding: type: object properties: SecurityId: type: string FundPortfolioDate: format: date-time type: string Year1: format: double type: number Year3: format: double type: number Year5: format: double type: number Year10: format: double type: number PercentAssets: format: double type: number MarketValue: format: double type: number FundCategory: type: string Sector: description: Institution specific sector configuration type: string Industry: type: string Country: description: ISO country code type: string Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatiosItemSecurity: type: object properties: SecurityId: type: string PriceRatiosItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatiosItem' QuestionReport: title: QuestionReport type: object properties: title: type: string description: Question title text example: Self-Rating text: type: string description: Option text example: Compared to others, how do you rate your willingness to take financial risks? displayOrder: type: integer description: Question display order example: 1 options: type: array items: $ref: '#/components/schemas/OptionReport' difference: type: array items: $ref: '#/components/schemas/DifferencePayload' description: Question report. Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityMarketMaturity: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityMarketMaturityItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityMarketMaturityItem' ErrorResponse500: title: ErrorResponse type: object properties: message: type: string description: Error Message example: Internal Server Error status: type: string description: Error Status example: INTERNAL_SERVER_ERROR timestamp: type: string description: Error Timestamp example: 2020-08-05T13:40:25+0000 Morningstar.PortfolioAnalysis.Models.Output.Hypo.PortfolioSummaryPerformance: type: object properties: AverageAnnualizedReturn: format: double type: number CumulativeReturn: format: double type: number FinalMarketValue: format: double type: number NetAmountInvested: format: double type: number BenchmarkCumulativeReturn: format: double type: number 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' Morningstar.PortfolioAnalysis.Models.Input.XRay.EquitySectorGroupConfig: type: object properties: Id: type: string EquitySectorConfig: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.XRay.EquitySectorConfig' Morningstar.PortfolioAnalysis.Models.Input.XRay.EquitySectorConfig: type: object properties: Id: type: string QuickPortId: type: string IsParentSector: type: boolean ParentSectorId: type: string Morningstar.PortfolioAnalysis.Models.Input.Report.InvestorProfile: type: object properties: Profiles: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.RiskProfile' results: type: array items: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Input.Report.RiskProfile' InvestmentPolicyReport_2: type: object title: InvestmentPolicyReport properties: id: type: string description: Unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a title: type: string description: Investment policy title example: Conservative text: type: string description: Investment policy text example: As a conservative investor, your portfolio will be invested in the most risk-averse areas such as cash and fixed-income securities. min: type: integer description: Minimum score range example: 10 max: type: integer description: Maximum score range example: 30 assetClass: type: array items: $ref: '#/components/schemas/AssetClassPayload_2' Morningstar.PortfolioAnalysis.Models.Output.XRay.Statistics.FundStatisticsItem: type: object properties: AverageNetExpenseRatio: format: double type: number AverageGrossExpenseRatio: format: double type: number PotentialCapGainsExposure: format: double type: number AverageAnnualReportNetExpenseRatio: format: double type: number AverageAnnualReportGrossExpenseRatio: format: double type: number AverageTotalExpenseRatio: format: double type: number AverageManagementExpenseRatio: format: double type: number AverageManagementFee: format: double type: number SimilarlyWeightedHypotheticalPortfolioPercentExpenseRatio: format: double type: number EstimatedMutualFundExpensesAmount: format: double type: number TotalSalesChargesPaidAmount: format: double type: number IndirectCostRatio: format: double type: number OnGoingCharge: format: double type: number KIIDOnGoingCharge: format: double type: number RiskGroupLabel: title: RiskGroupLabel type: object properties: groupName: type: string description: Name of the risk group example: Average range: type: string description: Range of the score within the risk group example: 45-54 description: Risk group label Morningstar.PortfolioAnalysis.Models.Output.Risk.CrossPortfolioCorrelatedItemKey: type: object properties: CorrelatedItemKeyId: format: int32 type: integer Type: enum: - Portfolio type: string Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRiskItemSecurity: type: object properties: SecurityId: type: string InterestRateRiskItem: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.InterestRateRiskItem' ? Morningstar.PortfolioAnalysis.Models.Output.DataItem_Morningstar.PortfolioAnalysis.Models.PortfolioYieldTrailingTimePeriod_ : type: object properties: Id: enum: - Month12 type: string Value: format: double type: number Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalizationItemSecurity: type: object properties: SecurityId: type: string AverageMarketCapitalization: format: double type: number ErrorResponse400: title: ErrorResponse type: object properties: message: type: string description: Error Message example: Server cannot or will not process the request due to something that is perceived to be a client error status: type: string description: Error Status example: BAD_REQUEST timestamp: type: string description: Error Timestamp example: 2020-08-05T13:40:25+0000 Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityAnalysis: type: object properties: AsOfDate: format: date-time type: string EquitySectors: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquitySectors' WorldRegions: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.WorldRegions' EquityMarketMaturity: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityMarketMaturity' EquityTypeBreakdown: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.EquityTypeBreakdown' PriceRatios: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.PriceRatios' Profitability: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.Profitability' GeometricAverageCapitalization: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.GeometricAverageCapitalization' 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.XRay.Analysis.CreditQuality: type: object properties: AsOfDate: format: date-time type: string Portfolio: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.CreditQualityItem' Benchmark: $ref: '#/components/schemas/Morningstar.PortfolioAnalysis.Models.Output.XRay.Analysis.CreditQualityItem' 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' securitySchemes: BasicAuth: type: http scheme: basic