openapi: 3.0.1 info: version: 1.0.0 title: Authorization Tokens Accounts Clients 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: Clients paths: /v2/clients/generate-id: post: tags: - Clients summary: Create a unique identifier for a client description: A client ID is required when submitting a client’s questionnaire responses and when retrieving reports for a specific client. To create a client ID, pass an external identifier (e.g., a client’s email address) in the body of the request. The response will return a unique identifier for the client, which can then be used for future interactions. operationId: generateClientId parameters: - name: X-API-RequestId in: header description: Initial request identifier schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerateIdRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResponseGuidPayload' '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' x-codegen-request-body-name: generateClientIdRequest /v2/clients/risks/questionnaires: post: tags: - Clients summary: Submit a client's risk tolerance questionnaire responses description: Submit a client’s risk tolerance questionnaire responses. A risk tolerance score and a unique identifier for the submitted responses is returnd. The identifier can be used to retrieve the client's responses at a later date. operationId: submitRiskQuestionnaireResponse 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 requestBody: description: Payload content: application/json: schema: $ref: '#/components/schemas/QuestionnaireRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResponseAndScorePayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' x-codegen-request-body-name: questionnaireAnswers get: tags: - Clients summary: Get Risk Tolerance questionnaire response history description: 'Retrieve a lsit of a client''s previously submitted risk questionnaire responses. A unique identifier for each response is returned. Use the identifier to retrieve a specific response. ' operationId: getRiskQuestionnaireResponseHistory parameters: - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: X-API-RequestId in: header description: Initial request identifier schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/HistoryPayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' /v1/clients/risks/questionnaires/{id}/agreed-score: patch: tags: - Clients summary: Submit an agreed risk tolerance score description: Submit an agreed risk tolerance score for a specific set of risk tolerance questionnaire responses submitted by a client. **Important:** We recommend that financial professionals resolve any differences (or inconsistencies) in answers in the risk tolerance report with the client through discussion and adjusting the score where appropriate. This discussion and the agreed score should be documented and signed off by the client. The agreed score will be used for further analysis. operationId: submitRiskQuestionnaireAgreedScore parameters: - name: id in: path description: Unique identifier of a response to a questionnaire required: true schema: type: string - name: X-API-RequestId in: header description: Initial request identifier schema: type: string requestBody: description: Payload content: application/json: schema: $ref: '#/components/schemas/AgreedRPRequest' required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AgreedRPPayload' '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' x-codegen-request-body-name: agreedRPRequest /v2/clients/solutions/calculate-suitability-score: post: tags: - Clients summary: Calculate suitability score description: Using the Professional Judgment Matrix (PJM) framework, calculates the suitability score and score constraints of an investment/portfolio. operationId: calculateSuitabilityScore parameters: - name: X-API-RequestId in: header description: Initial request identifier schema: type: string - 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 requestBody: content: application/json: schema: $ref: '#/components/schemas/CalculateSuitabilityScoreRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CalculateSuitabilityScoreResponse' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' x-codegen-request-body-name: calculateSuitabilityScoreRequest /v1/clients/experience/questionnaires: post: tags: - Clients summary: Submit a client's Experience questionnaire responses description: 'Submit a client’s experience questionnaire responses. A unique identifier for the submitted responses is returned. The identifier can be used to retrieve the client''s responses at a later date. ' operationId: submitExperienceQuestionnaireResponse 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 requestBody: description: Payload content: application/json: schema: $ref: '#/components/schemas/QuestionnaireRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResponseGuidPayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' x-codegen-request-body-name: questionnaireAnswers get: tags: - Clients summary: Get Experience questionnaire response history description: Get questionnaire responses for the client identified by the value in the `clientId` parameter. You can retrieve a list of all the respones the client has given to past questionnaires. operationId: getExperienceQuestionnaireResponseHistory parameters: - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: X-API-RequestId in: header description: Initial request identifier schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/HistoryPayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' /v1/clients/experience/questionnaires/{id}: get: tags: - Clients summary: Get Experience response description: Get a specific Experience questionnaire response for the client identified by the value in the `clientId` parameter. The questionnaire is identified by the value in the `id` parameter. This ID was returned in the response when the questionnaire was submitted. operationId: getExperienceQuestionnaireResponse parameters: - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: id in: path description: Unique identifier of a response to a questionnaire required: true schema: type: string - 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/BaseAnswerResponsePayload' '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' /v1/clients/kyc/questionnaires: post: tags: - Clients summary: Submit Know Your Client response description: 'Submit a client’s know-your-client questionnaire responses. A unique identifier for the submitted responses is returned. The identifier can be used to retrieve the client''s responses at a later date. ' operationId: submitKycQuestionnaireResponse 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 requestBody: description: Payload content: application/json: schema: $ref: '#/components/schemas/QuestionnaireRequest' required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResponseGuidPayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' x-codegen-request-body-name: questionnaireAnswers get: tags: - Clients summary: Get Know Your Client response history description: Get Know Your Client questionnaire responses for the client identified by the value in the `clientId` parameter. You can retrieve a list of all the respones the client has given to past questionnaires. operationId: getKycQuestionnaireResponseHistory parameters: - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: X-API-RequestId in: header description: Initial request identifier schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/HistoryPayload' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' '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' /v1/clients/kyc/questionnaires/{id}: get: tags: - Clients summary: Get Know Your Client response description: Get a specific Know Your Client questionnaire response for the client identified by the value in the `clientId` parameter. The questionnaire is identified by the value in the `id` parameter. This ID was returned in the response when the questionnaire was submitted. operationId: getKycQuestionnaireResponse parameters: - name: clientId in: query description: Unique identifier of a client required: true schema: type: string - name: id in: path description: Unique identifier of a response to a questionnaire required: true schema: type: string - 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/BaseAnswerResponsePayload' '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/clients/risks/reports/{id}: get: tags: - Clients summary: Get a specific risk tolerance report for a client description: Get a client’s risk tolerance report based on the most recently submitted responses to the risk tolerance questionnaire. operationId: getRiskReport parameters: - name: id in: path description: Unique identifier of a response to a questionnaire 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. schema: type: array items: type: string - 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/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' /clients/generate-id: post: summary: Create unique identifier for a client description: Create a unique identifier for a client. You use this alphanumeric ID to identify your client within FinaMetrica. You must include the ID when submitting and retrieving a client's responses. The ID is generated based on the `externalId` (for example, client's email address) that is sent in the request. If your client already has an ID, you do not need to generate a new one. The ID will never expire. tags: - Clients operationId: generateClientId parameters: - 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 requestBody: description: Payload required: true content: application/json: schema: $ref: '#/components/schemas/GenerateIdRequest_2' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ResponseGuidPayload' '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' /clients/risks/questionnaires: post: summary: Submit risk tolerance response description: Submit a client’s responses to the risk tolerance questionnaire and return a risk tolerance score. In the response, a unique identifier for the questionnaire will be returned. The identifier can be used to retrieve the answers at any time in the future. tags: - Clients operationId: submitRiskQuestionnaireResponse parameters: - 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 - en-AU - en-IN - fr-CA - 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 requestBody: description: Payload required: true content: application/json: schema: $ref: '#/components/schemas/QuestionnaireRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResponseAndScorePayload' '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' get: summary: Get risk tolerance responses history description: Get questionnaire responses for the client identified by the value in the `clientId` parameter. You can retrieve a list of all the responses the client has given to past questionnaires. tags: - Clients operationId: getRiskQuestionnaireResponseHistory parameters: - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true 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: Authorization in: header description: Bearer access token authorization required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/HistoryPayload_2' '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' /clients/risks/questionnaires/{responseId}: get: tags: - Clients summary: Get risk tolerance response and score description: Get a specific risk questionnaire response and score for the client identified by the value in the `clientId` parameter. The questionnaire is identified by the value in the `id` parameter. This ID was returned in the response when the questionnaire was submitted. operationId: getRiskQuestionnaireResponse parameters: - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true schema: type: string - name: responseId in: path description: Unique identifier of a response to a questionnaire required: true 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 - en-AU - en-IN - fr-CA - 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: OK content: application/json: schema: $ref: '#/components/schemas/ResponseAndScorePayload' '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' /clients/risks/questionnaires/{responseId}/agreed-score: patch: tags: - Clients summary: Submit risk tolerance agreed score description: Submit a client’s agreed score. Before submitting a score, it must be discussed with the client and the client must agree with the score. operationId: submitRiskQuestionnaireAgreedScore parameters: - name: responseId in: path description: Unique identifier of a response to a questionnaire required: true 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: Authorization in: header description: Bearer access token authorization required: true schema: type: string requestBody: description: Payload required: true content: application/json: schema: $ref: '#/components/schemas/AgreedRPRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/AgreedRPPayload' '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' /clients/solutions/calculate-suitability-score: post: summary: Calculate suitability score description: Using the Professional Judgment Matrix (PJM) framework, calculates the suitability score and score constraints of an investment/portfolio. tags: - Clients operationId: calculateSuitabilityScore 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: false 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 requestBody: description: Payload required: true content: application/json: schema: $ref: '#/components/schemas/CalculateSuitabilityScoreRequest_2' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/CalculateSuitabilityScoreResponse_2' '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' /clients/solutions/comfort-ranges: get: summary: Get comfort growth or comfort score ranges for a given portfolio risk score description: Get comfort growth or comfort score ranges for a given portfolio risk score. tags: - Clients operationId: getComfortRanges parameters: - 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 - name: rangeType in: query description: Comfort range type. required: true schema: type: string enum: - GROWTH - SCORE - name: score in: query description: Score value. Value must be in the range 0 - 110. required: true schema: type: integer - name: region in: query description: Region or country value. required: false schema: type: string enum: - AU - CA - EUR - IN - NZ - UK - USA - name: version in: query description: Version of the Comfort score ranges required: false schema: type: string enum: - V3 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ComfortRangesPayloadResponse' '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' /clients/experience/questionnaires: get: summary: Get experience responses history description: Get questionnaire responses for the client identified by the value in the `clientId` parameter. You can retrieve a list of all the responses the client has given to past questionnaires. tags: - Clients operationId: getExperienceQuestionnaireResponseHistory parameters: - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true 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: Authorization in: header description: Bearer access token authorization required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/HistoryPayload_2' '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' post: summary: Submit experience response description: Submit a client’s responses to the experience questionnaire. In the response, a unique identifier for the questionnaire will be returned. The identifier can be used to retrieve the answers at any time in the future. tags: - Clients operationId: submitExperienceQuestionnaireResponse parameters: - 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 - en-AU - en-IN - fr-CA - 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 - name: questionnarieRequired in: query description: Flag to change the nature of the questions in the Experience questionnaire example: 'true' required: false schema: type: string requestBody: description: Payload required: true content: application/json: schema: $ref: '#/components/schemas/ExperienceRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResponseGuidPayload' '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' /clients/experience/questionnaires/{responseId}: get: tags: - Clients summary: Get experience response description: Get a specific experience questionnaire response for the client identified by the value in the `clientId` parameter. The questionnaire is identified by the value in the `id` parameter. This ID was returned in the response when the questionnaire was submitted. operationId: getExperienceQuestionnaireResponse parameters: - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true schema: type: string - name: responseId in: path description: Unique identifier of a response to a questionnaire required: true 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 - en-AU - en-IN - fr-CA - 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: OK content: application/json: schema: $ref: '#/components/schemas/BaseAnswerResponsePayload' '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' /clients/kyc/questionnaires: get: summary: Get know your client responses history description: Get questionnaire responses for the client identified by the value in the `clientId` parameter. You can retrieve a list of all the responses the client has given to past questionnaires. tags: - Clients operationId: getKycQuestionnaireResponseHistory parameters: - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true 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: Authorization in: header description: Bearer access token authorization required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/HistoryPayload_2' '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' post: summary: Submit know your client response description: Submit a client’s responses to the know your client questionnaire. In the response, a unique identifier for the questionnaire will be returned. The identifier can be used to retrieve the answers at any time in the future. tags: - Clients operationId: submitKycQuestionnaireResponse parameters: - 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 - en-AU - en-IN - fr-CA - 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 requestBody: description: Payload required: true content: application/json: schema: $ref: '#/components/schemas/KYCRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/ResponseGuidPayload' '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' /clients/kyc/questionnaires/{responseId}: get: tags: - Clients summary: Get know your client response description: Get a specific know your client questionnaire response for the client identified by the value in the `clientId` parameter. The questionnaire is identified by the value in the `id` parameter. This ID was returned in the response when the questionnaire was submitted. operationId: getKycQuestionnaireResponse parameters: - name: clientId in: query description: Unique identifier of a client example: 3168dab3-4445-40c5-8295-5a816c6cd5de required: true schema: type: string - name: responseId in: path description: Unique identifier of a response to a questionnaire required: true 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: 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: OK content: application/json: schema: $ref: '#/components/schemas/BaseAnswerResponsePayload' '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' components: schemas: QuestionRequest: title: QuestionRequest type: object properties: answers: type: array items: type: string description: Answer unique identifier example: FM10-1-4 id: type: string description: Question unique identifier example: FM10-1 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 ExperienceRequest: type: object title: ExperienceRequest properties: clientId: type: string description: Client unique identifier example: 3168dab3-4445-40c5-8295-5a816c6cd5de advisorId: type: string description: Advisor identifier example: aa68dab3-4445-40c5-8295-5a816c6cd5de questionnaire: type: string description: Questionnaire unique identifier example: FM10S30 questions: type: array items: $ref: '#/components/schemas/QuestionRequest' example: - id: FM10-1 answers: - FM10-1-1 - id: FM10-2 answers: - FM10-2-4 - id: FM10-3 answers: - FM10-3-1 - id: FM10-4 answers: - FM10-4-4 - id: FM10-5 answers: - FM10-5-1 - id: FM10-6 answers: - FM10-6-5 - id: FM10-7 answers: - FM10-7-1 - id: FM10-8 answers: - FM10-8-7 - id: FM10-9 answers: - FM10-9-1 - id: FM10-10 answers: - FM10-10-6 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 GenerateIdRequest_2: type: object title: GenerateIdRequest properties: externalId: type: string description: External unique identifier example: Email ID QuestionnaireRequest: title: QuestionnaireRequest type: object properties: clientId: type: string description: Client unique identifier example: 3168dab3-4445-40c5-8295-5a816c6cd5de questionnaire: type: string description: Questionnaire unique identifier example: FM10S30 questions: type: array example: - id: FM10-1 answers: - FM10-1-1 - id: FM10-2 answers: - FM10-2-4 - id: FM10-3 answers: - FM10-3-1 - id: FM10-4 answers: - FM10-4-4 - id: FM10-5 answers: - FM10-5-1 - id: FM10-6 answers: - FM10-6-5 - id: FM10-7 answers: - FM10-7-1 - id: FM10-8 answers: - FM10-8-7 - id: FM10-9 answers: - FM10-9-1 - id: FM10-10 answers: - FM10-10-6 items: $ref: '#/components/schemas/QuestionRequest' 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. BaseAnswerResponsePayload: title: BaseAnswerResponsePayload type: object properties: createdAt: type: string description: Record creation dateTime UTC example: 2020-08-04T20:07:36+0000 id: type: string description: Record unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a title: type: string description: Questionnaire title example: Experience questionnaire: $ref: '#/components/schemas/QuestionnairePayload' CalculateSuitabilityScoreResponse: title: CalculateSuitabilityScoreResponse type: object properties: suitabilityScore: type: integer description: Suitability score result example: 20 scoreConstraints: type: string description: Reason for suitability score cap example: Suitability score suggested limit is 68 due to investment knowledge and financial composure. ResponseGuidPayload: title: ResponseGuidPayload type: object properties: guid: type: string description: Unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a CalculateSuitabilityScoreRequest_2: type: object title: CalculateSuitabilityScoreRequest properties: pjmId: type: string example: PJM1 description: PJM configuration. Optional clientId: type: string description: Client unique identifier. Optional example: 3168dab3-4445-40c5-8295-5a816c6cd5de timeHorizon: type: integer example: 3 description: Time Horizon in years, When do you expect to need to withdraw a significant part (1/3 or more) of the money in your investment portfolio? riskToleranceScore: type: integer example: 20 description: Risk tolerance score knowledge: type: integer example: 3 description: How knowledgeable are you about investing? experience: type: integer example: 3 description: What types of investments have you held in the past or currently hold? composure: type: integer example: 3 description: Composure is a measure of your emotional state when markets go up and down in value guid: type: string description: Unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a createdAt: type: string description: Record creation dateTime UTC example: 2020-08-04T20:07:36+0000 QuestionnaireResponsePayload: title: QuestionnaireResponsePayload type: object properties: id: type: string description: Questionnaire unique identifier example: FM10S30 title: type: string description: Questionnaire title example: Finametrica 10 questions: type: array description: List of questions items: $ref: '#/components/schemas/QuestionDifferencePayload' description: Questionnaire response payload 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. 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. ComfortRangesPayloadResponse: type: object title: ComfortRangesPayload properties: tooMuchRisk: $ref: '#/components/schemas/Ranges' marginalUpper: $ref: '#/components/schemas/Ranges' okRisk: $ref: '#/components/schemas/Ranges' marginalLower: $ref: '#/components/schemas/Ranges' tooLittleRisk: $ref: '#/components/schemas/Ranges' HistoryPayload_2: type: object title: HistoryPayload properties: completedDate: type: string example: '2020-08-04' description: Questionnaire response completed date (yyyy-mm-dd) createdAt: type: string example: 2020-08-04T20:07:36+0000 description: Questionnaire response datetime UTC id: type: string example: 95000cf-9f72-4au7-811b-35dc66dd95a description: Questionnaire response unique identifier person: type: string example: Jhon Wiss description: User name type: type: string example: FM10S30 description: Questionnaire type HistoryPayload: title: HistoryPayload type: object properties: completedDate: type: string description: Questionnaire response completed date (yyyy-mm-dd) example: '2020-08-04T00:00:00.000Z' createdAt: type: string description: Questionnaire response datetime UTC example: 2020-08-04T20:07:36+0000 id: type: string description: Questionnaire response unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a person: type: string description: User name example: Jhon Wiss type: type: string description: Questionnaire type example: FM10S30 QuestionDifferencePayload: title: QuestionDifferencePayload type: object properties: id: type: string description: Question unique identifier example: FM10-1 title: type: string description: Question title example: Willingness to take financial risk text: type: integer description: Question text displayOrder: type: integer description: Question display order. example: 1 multipleSelect: type: boolean description: Multiple selections for the question, if this is true the question allows multiple answers. example: false options: type: array description: List of options for question items: $ref: '#/components/schemas/OptionPayload' difference: $ref: '#/components/schemas/DifferencePayload' description: Question difference payload GenerateIdRequest: title: GenerateIdRequest type: object properties: externalId: type: string description: External unique identifier example: myclientId@companydomain.com sourceId: type: string description: External unique identifier example: APPLICATION_NAME 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 Ranges: type: object title: Range properties: low: type: integer description: Low range example: 10 high: type: integer description: High range example: 30 YourDifferencesPayload: title: YourDifferencesPayload type: object properties: questions: type: array items: $ref: '#/components/schemas/QuestionReport' description: Information for your differences details. ResponseAndScorePayload: title: ResponseAndScorePayload type: object properties: createdAt: type: string description: Record creation dateTime UTC example: 2020-08-04T20:07:36+0000 id: type: string description: Record unique identifier example: 95000cf-9f72-4au7-811b-35dc66dd95a questionnaire: $ref: '#/components/schemas/QuestionnaireResponsePayload' score: $ref: '#/components/schemas/RiskFullPayload' 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. KYCRequest: type: object title: KYCRequest properties: clientId: type: string description: Client unique identifier example: 3168dab3-4445-40c5-8295-5a816c6cd5de advisorId: type: string description: Advisor identifier example: aa68dab3-4445-40c5-8295-5a816c6cd5de questionnaire: type: string description: Questionnaire unique identifier example: FM10S30 questions: type: array items: $ref: '#/components/schemas/QuestionRequest' example: - id: FM10-1 answers: - FM10-1-1 - id: FM10-2 answers: - FM10-2-4 - id: FM10-3 answers: - FM10-3-1 - id: FM10-4 answers: - FM10-4-4 - id: FM10-5 answers: - FM10-5-1 - id: FM10-6 answers: - FM10-6-5 - id: FM10-7 answers: - FM10-7-1 - id: FM10-8 answers: - FM10-8-7 - id: FM10-9 answers: - FM10-9-1 - id: FM10-10 answers: - FM10-10-6 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. RiskFullPayload: title: RiskFullPayload type: object properties: agreedChangedDate: type: string description: Score changed date (yyyy-mm-dd) example: '2020-05-28T00:00:00.000Z' agreedRiskGroup: type: string description: Client agreed risk group example: FM12 agreedRiskHistory: type: array items: $ref: '#/components/schemas/AgreedRPPayload' agreedScore: type: integer description: Client agreed risk score example: 37 answers: type: string description: Client answers in JSON format example: '{ "FM10-1": "1" }' calculatedRiskGroup: type: string description: Client risk group example: Low calculatedScore: type: integer description: Client risk score example: 40 comments: type: string description: Client comment example: This is a comment completed: type: boolean description: Is risk questionnaire completed example: true completedDate: type: string description: Questionnaire complete date (yyyy-mm-dd) example: '2020-05-28T00:00:00.000Z' defaultQuestionnaireType: type: boolean description: Default questionnaire type example: true disappointmentsText: type: string description: Financial disappointments section example: When things go wrong financially they are as likely... employmentText: type: string description: Employment section example: They would be slightly more likely to choose more... financialDecisions: type: string description: Risk group description example: Investors in the High risk group are only prepared financialPastText: type: string description: Financial past section example: They have taken a small to medium degree of risk... govBenefitsText: type: string description: Government benefits and Tax advantages section example: So long as there was only a small chance... groupOverview: type: string description: Risk group overview example: The description of the High risk group which follows provides... inconsistent: type: boolean description: If the profile is inconsistent example: true investmentText: type: string description: Investment section example: It is somewhat more important that the value of... person: type: string description: Client Name example: John Smith riskTolerancePercentText: type: string description: Client percent text in para 1 example: This is a higher-than-average score, higher than 77% of all scores. showQuestionnairePopup: type: boolean description: Show questionnaire popup example: true CalculateSuitabilityScoreResponse_2: type: object title: CalculateSuitabilityScoreResponse properties: suitabilityScore: type: integer example: 20 description: Suitability score result scoreConstraints: type: string example: Suitability score suggested limit is 68 due to investment knowledge and financial composure. description: Reason for suitability score cap experienceConstraints: type: string example: Investor's experience is unknown. description: Text when the experience value is unknown. composureConstraints: type: string example: Investor's composure is unknown. description: Text when the composure value is unknown. knowledgeConstraints: type: string example: Investor's knowledge is unknown. description: Text when the knowledge value is unknown. AgreedRPPayload: title: AgreedRPPayload type: object properties: agreedRPChange: type: boolean description: True if the risk profile changed, otherwise false example: true agreedScore: type: integer description: Score value example: 80 changeDate: type: string description: Score changed date example: 2018/09/15 comment: type: string description: Comment example: This is a comment QuestionPayload: title: QuestionPayload type: object properties: id: type: string description: Question unique identifier example: FM10-1 title: type: string description: Question title example: Willingness to take financial risk text: type: string description: Question text example: Compared to others, how do you rate your willingness to take financial risks? displayOrder: type: integer description: Question display order example: 1 multipleSelect: type: boolean description: Multiple selections for the question, if this is true the question allows multiple answers example: false options: type: array description: List of options for question items: $ref: '#/components/schemas/OptionPayload' QuestionnairePayload: title: QuestionnairePayload type: object properties: id: type: string description: Questionnaire unique identifier example: FM10S30 title: type: string description: Questionnaire title example: Finametrica 10 questions: type: array items: $ref: '#/components/schemas/QuestionPayload' 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 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. AgreedRPRequest: title: AgreedRPRequest type: object properties: clientId: type: string description: Client unique identifier example: 3168dab3-4445-40c5-8295-5a816c6cd5de agreedScore: type: integer description: Agreed score example: 70 comment: type: string description: Comment for agreed score example: This is a comment 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 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. CalculateSuitabilityScoreRequest: title: CalculateSuitabilityScoreRequest type: object properties: pjmId: type: string description: PJM configuration. Optional. If it’s not sent, a default configuration will be used. example: PJM1 timeHorizon: type: integer description: When do you expect to need to withdraw a significant part (1/3 or more) of the money in your investment portfolio? example: 3 riskToleranceScore: type: integer description: Risk tolerance score or the agreed risk tolerance score. example: 20 knowledge: type: integer description: Answer to knowledge question in the experience questionnaire. example: 3 experience: type: integer description: Answer to experience question in the experience questionnaire. example: 3 composure: type: integer description: Answer to composure question in the experience questionnaire. example: 3 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. 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 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. 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 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 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 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 OptionPayload: title: OptionPayload type: object properties: displayOrder: type: integer description: Option display order example: 1 id: type: string description: Option unique identifier example: '1' text: type: string description: Option text example: Extremely low risk taker selected: type: boolean description: True if the option is selected by the client, false otherwise example: true 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. 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. securitySchemes: BasicAuth: type: http scheme: basic