How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Morningstar Risk Profiler API

Investor risk-tolerance profiling built on the FinaMetrica psychometric methodology, returning risk scores and profiles for suitability workflows.

Morningstar Risk Profiler API is one of 18 APIs that Morningstar publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Risk, Profiling, and FinaMetrica. The published artifact set on APIs.io includes API documentation and an OpenAPI specification.

This API exposes 25 operations across 19 paths, and defines 48 schemas. It is described by OpenAPI 3.2.0, at version 1.0.0.

Requests are made against 3 base URLs: https://www.us-api.morningstar.com/token, https://www.emea-api.morningstar.com/token, https://www.apac-api.morningstar.com/token.

25 operations 19 paths 48 schemas 13 GET2 PATCH10 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0.0
Base URL
https://www.us-api.morningstar.com/risk-profiler
Authentication
HTTP Basic
Resource Areas
1

Authentication & Security 1

Morningstar Risk Profiler API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

Paths & Operations 25

Across 19 paths, the API surfaces 25 operations — 13 GET, 2 PATCH, 10 POST. Each is listed below with its method, path, parameters, and response codes.

Clients 25
POST
/v2/clients/generate-id
Create a unique identifier for a client
generateClientId 1 param body → 200500502
POST
/v2/clients/risks/questionnaires
Submit a client's risk tolerance questionnaire responses
submitRiskQuestionnaireResponse 2 params body → 201400500502
GET
/v2/clients/risks/questionnaires
Get Risk Tolerance questionnaire response history
getRiskQuestionnaireResponseHistory 2 params → 200400500502
PATCH
/v1/clients/risks/questionnaires/{id}/agreed-score
Submit an agreed risk tolerance score
submitRiskQuestionnaireAgreedScore 2 params body → 200400404500502
POST
/v2/clients/solutions/calculate-suitability-score
Calculate suitability score
calculateSuitabilityScore 2 params body → 201400500502
POST
/v1/clients/experience/questionnaires
Submit a client's Experience questionnaire responses
submitExperienceQuestionnaireResponse 2 params body → 201400500502
GET
/v1/clients/experience/questionnaires
Get Experience questionnaire response history
getExperienceQuestionnaireResponseHistory 2 params → 200400500502
GET
/v1/clients/experience/questionnaires/{id}
Get Experience response
getExperienceQuestionnaireResponse 4 params → 200400404500502
POST
/v1/clients/kyc/questionnaires
Submit Know Your Client response
submitKycQuestionnaireResponse 2 params body → 201400500502
GET
/v1/clients/kyc/questionnaires
Get Know Your Client response history
getKycQuestionnaireResponseHistory 2 params → 200400500502
GET
/v1/clients/kyc/questionnaires/{id}
Get Know Your Client response
getKycQuestionnaireResponse 4 params → 200400404500502
GET
/v2/clients/risks/reports/{id}
Get a specific risk tolerance report for a client
getRiskReport 5 params → 200400404500502
POST
/clients/generate-id
Create unique identifier for a client
generateClientId 2 params body → 200502500
POST
/clients/risks/questionnaires
Submit risk tolerance response
submitRiskQuestionnaireResponse 3 params body → 201400502500
GET
/clients/risks/questionnaires
Get risk tolerance responses history
getRiskQuestionnaireResponseHistory 3 params → 200400502500
GET
/clients/risks/questionnaires/{responseId}
Get risk tolerance response and score
getRiskQuestionnaireResponse 5 params → 200400404502500
PATCH
/clients/risks/questionnaires/{responseId}/agreed-score
Submit risk tolerance agreed score
submitRiskQuestionnaireAgreedScore 3 params body → 200400404502500
POST
/clients/solutions/calculate-suitability-score
Calculate suitability score
calculateSuitabilityScore 3 params body → 201400502500
GET
/clients/solutions/comfort-ranges
Get comfort growth or comfort score ranges for a given portfolio risk score
getComfortRanges 6 params → 200400502500
GET
/clients/experience/questionnaires
Get experience responses history
getExperienceQuestionnaireResponseHistory 3 params → 200400502500
POST
/clients/experience/questionnaires
Submit experience response
submitExperienceQuestionnaireResponse 4 params body → 201400502500
GET
/clients/experience/questionnaires/{responseId}
Get experience response
getExperienceQuestionnaireResponse 5 params → 200400404502500
GET
/clients/kyc/questionnaires
Get know your client responses history
getKycQuestionnaireResponseHistory 3 params → 200400502500
POST
/clients/kyc/questionnaires
Submit know your client response
submitKycQuestionnaireResponse 3 params body → 201400502500
GET
/clients/kyc/questionnaires/{responseId}
Get know your client response
getKycQuestionnaireResponse 5 params → 200400404502500

Schemas 48

The contract defines 48 schemas that model the data the API accepts and returns. The most detailed are RiskFullPayload (22 properties), CalculateSuitabilityScoreRequest_2 (9 properties), ReportResponsePayload (9 properties), ComparedToInvestorsPayload (8 properties). Each schema is shown below with its type and property counts.

SectionPayload
object
Section that contains id, header, array of paragraphs that are going to be part of the report.
2 properties
HistoryPayload_2
object
5 properties
ResponseGuidPayload
object
1 property
ParagraphReport
object
Option for report.
4 properties
ComparedToInvestorsPayload
object
Payload with information about the comparison with other investors.
8 properties
ResponseAndScorePayload
object
4 properties
YourDifferencesPayload
object
Information for your differences details.
1 property
OptionPayload
object
4 properties
OptionReport
object
Option for report.
3 properties
RiskFullPayload
object
22 properties
AssetClassPayload
object
2 properties
RiskGroupLabel
object
Risk group label
2 properties
MixInvestmentsHeader
object
Mix investments header
4 properties
ErrorResponse404
object
3 properties
QuestionPayload
object
6 properties
QuestionnaireRequest
object
3 properties
CalculateSuitabilityScoreRequest
object
6 properties
QuestionRequest
object
2 properties
Ranges
object
2 properties
ReportResponsePayload
object
Content of the risk tolerance report with sections for static text, questionnaire responses, score values and footnotes.
9 properties
SectionRiskGroupPayload
object
Section with risk group information.
3 properties
DifferencePayload
object
Difference payload
4 properties
QuestionnairePayload
object
3 properties
ErrorResponse400
object
3 properties
ExperienceRequest
object
4 properties
RiskGroupPayload
object
Payload with risk group information containing a representation of a portfolio's table.
3 properties
ErrorResponse500
object
3 properties
CalculateSuitabilityScoreResponse_2
object
5 properties
SectionRiskToleranceScorePayload
object
Section with risk tolerance score information.
3 properties
HistoryPayload
object
5 properties
QuestionDifferencePayload
object
Question difference payload
7 properties
CalculateSuitabilityScoreResponse
object
2 properties
ErrorResponse502
object
3 properties
InvestmentPolicyReport
object
Investment policy report
6 properties
KYCRequest
object
4 properties
InvestmentPortfolio
object
Investment portfolio object that represents the mix of investments in portfolio.
4 properties
ComfortRangesPayloadResponse
object
5 properties
CalculateSuitabilityScoreRequest_2
object
9 properties
BaseAnswerResponsePayload
object
4 properties
AgreedRPRequest
object
3 properties
SectionSuitabilityScorePayload
object
Section for suitability score
3 properties
GenerateIdRequest_2
object
1 property
SuitabilityScorePayload
object
Information for your suitability score
2 properties
SectionYourDifferencesPayload
object
Section with your differences information.
3 properties
GenerateIdRequest
object
2 properties
QuestionnaireResponsePayload
object
Questionnaire response payload
3 properties
QuestionReport
object
Question report.
5 properties
AgreedRPPayload
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

morningstar-clients-api-openapi.yml Raw ↑

Other APIs Morningstar publishes across the network.

Morningstar Market Data Web Services API
Morningstar Authentication API
Morningstar Time Series API
Morningstar Screener APIs
Morningstar Investment Details APIs
Morningstar Investment List API
Morningstar Portfolio Analysis APIs
Morningstar AI Insights API
Morningstar Scenario Analysis API
Morningstar Universe API
Morningstar Financial Planning APIs
Morningstar Investment Analysis APIs
Where this information came from

This is an independent, third-party profile of Morningstar Risk Profiler API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.