openapi: 3.0.1 info: version: 1.0.0 title: Authorization Tokens Accounts Portfolios 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: Portfolios paths: /v1/portfolios/investments: get: tags: - Portfolios summary: Get the table content of the investment mix question description: The 'Investment Mix' question (question 8 of FM10S30 and question 16 of FM25V30) prompts the client to choose from a list of seven example portfolio options, selecting the one that best aligns with their preferred investment mix. These options range from low-risk/low-return to high-risk/high-return, with variations in between. The question text includes a link to an image depicting the investment mix table. Additionally, the content can be accessed as a JSON object via this endpoint. operationId: getMixInvestments 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 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MixInvestmentsPayload' '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' /portfolios/investments: get: summary: Get the content of the mix of investments matrix description: Get the content of the mix of investments matrix with the set of portfolios and their high, medium, low percentage of return. tags: - Portfolios operationId: getMixInvestments parameters: - 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 - en-CA - en-GB - fr-CA - 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/MixInvestmentsPayload_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' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' '502': description: Internal server communication failure content: application/json: schema: $ref: '#/components/schemas/ErrorResponse502' components: schemas: 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 MixInvestmentsPayload_2: type: object title: MixInvestmentsPayload properties: title: type: string description: Title of the mix investments table example: Mix of Investments in Portfolio headers: $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 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 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 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 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 MixInvestmentsPayload: title: MixInvestmentsPayload 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: Mix investments payload 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. 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 % 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 securitySchemes: BasicAuth: type: http scheme: basic