Investment Details API

Get detailed profile data for a single investment, drawing on Morningstar's fundamental, reference, and historical data.

Get View IDs

Two endpoints help you choose views. One lists the views you are entitled to, with their view IDs. The other returns the definition of a view, which lists its data points. Both are quick requests that return results at once. They aren't asynchronous.

For background on views, see Views.

List the Views You Can Request

Use the list views endpoint to retrieve the views you are entitled to. The request takes no query parameters or body, only your access token.

GET /direct-web-services/v1/investments/views

The following request lists the views.

curl --request GET \
  --url "https://www.us-api.morningstar.com/direct-web-services/v1/investments/views" \
  --header "accept: application/json" \
  --header "Authorization: Bearer {token}"

Use the base URL for your region, as described in Getting Started.

The response contains a views array and a metadata object.

{
  "views": [
    {
      "package": { "viewId": "active-share" },
      "datasets": [
        { "viewId": "active-share" }
      ]
    },
    {
      "package": { "viewId": "asset-allocation-breakdown" },
      "datasets": [
        { "viewId": "asset-allocation-breakdown" }
      ]
    }
  ],
  "metadata": {
    "requestId": "27d7fee8-3cb1-4d26-8594-30a3912f7967",
    "time": "2026-06-15T14:23:12.8224237Z"
  }
}
PropertyDescription
viewsThe views you are entitled to, one object for each package.
views[].package.viewIdThe view ID of the package.
views[].datasets[].viewIdThe view IDs of the datasets in the package.
metadataThe requestId and the time of the response.

Use a viewId from the response in the views array of an investment details request. See the Investment Details section for guidance on making requests.

Get a View Definition

Use the view definition endpoint to see which data points a view contains. Pass the view ID in the path.

GET /direct-web-services/v1/investments/views/{viewId}

The following request retrieves the definition of the active-share view.

curl --request GET \
  --url "https://www.us-api.morningstar.com/direct-web-services/v1/investments/views/active-share" \
  --header "accept: application/json" \
  --header "Authorization: Bearer {token}"

The response contains the view ID, its data points and a metadata object.

{
  "viewDefinition": {
    "id": "active-share",
    "dataPoints": [
      {
        "id": "activeShare.activeShareEtfBenchmarkProxy",
        "isLanguageDependent": false,
        "isCountryDependent": false,
        "isCurrencyDependent": false
      },
      {
        "id": "activeShare.activeShareDate",
        "isLanguageDependent": false,
        "isCountryDependent": false,
        "isCurrencyDependent": false
      }
    ]
  },
  "metadata": {
    "requestId": "27d7fee8-3cb1-4d26-8594-30a3912f7967",
    "time": "2026-06-15T14:23:12.8224237Z"
  }
}
PropertyDescription
viewDefinition.idThe view ID.
viewDefinition.dataPoints[].idThe data point, in the format <dataGroup>.<fieldName>.
viewDefinition.dataPoints[].isLanguageDependentWhen true, the data point varies by language. Set languageId in the request.
viewDefinition.dataPoints[].isCountryDependentWhen true, the data point varies by country. Set countryId in the request.
viewDefinition.dataPoints[].isCurrencyDependentWhen true, the data point varies by currency.

When to Use These Endpoints

  • To find your view IDs. Call the list endpoint once, and save the IDs. You don't need to call it for every request.
  • After your entitlements change. The list shows the views you are entitled to, so call it again if you license new packages.
  • To check what a view returns. Call the view definition endpoint before you request a view, to see its data points and which of them depend on language or country.

Errors

Both endpoints return a 400 if the request is invalid, and a 500 if there is a server error. The error response has a statusCode, an errorCode, a message and a requestId. See Error Messages.