---
title: "List all managed investment data points."
url: "https://developer-beta.morningstar.com/apis/managed-investments-screener-api/versions/078c2975-5abc-4eaa-be35-30f0c85f0e84/operations/listManagedInvestmentDataPoints"
---

> Full API specification: https://developer-beta.morningstar.com/apis/managed-investments-screener-api/versions/078c2975-5abc-4eaa-be35-30f0c85f0e84.md

# List all managed investment data points.

`GET` `/direct-web-services/v1/screeners/managed-investments/data-points`

Operation ID: `listManagedInvestmentDataPoints`

Returns the list of managed investment data points supported for screener queries. Metadata for each entry includes the data type, supported operators, and whether the data point is sortable, language-dependent, currency-dependent, fuzzy-searchable, or code-mapped.

## Responses

- `200` - OK
- `400` - 400: Bad Request
- `500` - 500: Internal Server Error

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Managed Investments API
  version: "1.0"
servers:
  - url: https://www.us-api.morningstar.com
    description: Americas
  - url: https://www.apac-api.morningstar.com
    description: APAC
  - url: https://www.emea-api.morningstar.com
    description: EMEA
paths:
  /direct-web-services/v1/screeners/managed-investments/data-points:
    get:
      summary: List all managed investment data points.
      operationId: listManagedInvestmentDataPoints
      tags:
        - Data Points
      description: Returns the list of managed investment data points supported for
        screener queries. Metadata for each entry includes the data type,
        supported operators, and whether the data point is sortable,
        language-dependent, currency-dependent, fuzzy-searchable, or
        code-mapped.
      responses:
        "200":
          $ref: "#/components/responses/ResponseDataPoints"
        "400":
          $ref: "#/components/responses/ResponseStatus400"
        "500":
          $ref: "#/components/responses/ResponseStatus500"
security:
  - Bearer: []
components:
  responses:
    ResponseDataPoints:
      description: OK
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ResponseDataPoints"
          examples:
            Managed Investments Data Points:
              $ref: "#/components/examples/ResponseDataPointsExample1"
    ResponseStatus400:
      description: "400: Bad Request"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OutputError"
          examples:
            Example1:
              $ref: "#/components/examples/ResponseStatus400Example1"
    ResponseStatus500:
      description: "500: Internal Server Error"
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OutputError"
  schemas:
    ResponseDataPoints:
      title: ResponseDataPoints
      description: Data points and operators supported for managed investments screening.
      type: object
      properties:
        datapoints:
          type:
            - array
            - "null"
          items:
            $ref: "#/components/schemas/OutputDataPoint"
        metadata:
          $ref: "#/components/schemas/OutputDataPointsMetadata"
      additionalProperties: false
    OutputError:
      title: OutputError
      description: Error details.
      type: object
      properties:
        statusCode:
          description: HTTP status code.
          type: integer
          format: int32
          example: 400
        errorCode:
          description: Unique error identifier.
          type:
            - string
            - "null"
          example: 400.screener.006
        message:
          description: Description of the error.
          type:
            - string
            - "null"
          example: Please provide valid sort option.
        requestId:
          description: Unique request identifier.
          type:
            - string
            - "null"
          example: 6631c374-2331-4c7e-b6f2-d0c0079f6ee
      additionalProperties: false
    OutputDataPoint:
      title: OutputDataPoint
      description: A data point and the screening features it supports.
      type: object
      properties:
        name:
          description: Data point name in the format `<dataGroup>.<fieldName>`. Retrieve
            valid values programmatically via `GET
            /direct-web-services/v1/screeners/managed-investments/data-points`,
            or browse the full reference in the data dictionary.
          type:
            - string
            - "null"
          example: basicReference.legalName
          externalDocs:
            description: Data dictionary (Excel)
            url: https://developer.morningstar.com/content/hidden-from-navigation/ScreenerManagedInvestmentsDataDictionary.xlsx
        type:
          description: Data type of the data point. Dates are returned as type `string`.
          type:
            - string
            - "null"
          example: decimal
          x-knownValues:
            - bool
            - decimal
            - int
            - long
            - string
          x-enumDescriptions:
            - bool (Boolean. Supports eq and in.)
            - decimal (Number. Supports range operators, eq, and in.)
            - int (Integer. Supports range operators, eq, and in.)
            - long (Long integer. Supports range operators, eq, and in.)
            - string (Text or date. Supports eq and in; dates also support range
              operators; some text data points support contains and fuzzy.)
        operators:
          description: Filter operators supported by the data point. Compound operators
            (`and`, `or`, `not`) are supported for all data points.
          type:
            - array
            - "null"
          items:
            type: string
            x-knownValues:
              - eq
              - in
              - gt
              - gte
              - lt
              - lte
              - contains
            x-enumDescriptions:
              - eq (Equals.)
              - in (Matches any value in a list.)
              - gt (Greater than.)
              - gte (Greater than or equal to.)
              - lt (Less than.)
              - lte (Less than or equal to.)
              - contains (Text contains.)
          example:
            - gt
            - gte
            - lt
            - lte
            - eq
            - in
        isSortable:
          description: When true, the data point can be used to sort results.
          type: boolean
        isLanguageDependent:
          description: When true, values depend on `languageId`.
          type: boolean
        isCurrencyDependent:
          description: When true, values depend on `currencyId`.
          type: boolean
        fuzzy:
          description: When true, the data point supports fuzzy text matching.
          type: boolean
        enum:
          description: When true, the data point accepts a fixed set of values.
          type: boolean
        isCodeMapped:
          description: When true, values are returned as `OutputCodeMappedValue` objects
            (code and display value).
          type:
            - boolean
            - "null"
      additionalProperties: false
    OutputDataPointsMetadata:
      title: OutputDataPointsMetadata
      description: Request ID and timestamp for use in troubleshooting.
      type: object
      properties:
        requestId:
          description: Unique request identifier.
          type:
            - string
            - "null"
          example: c63e7f6c-b52d-42c3-9d1b-4a4b4ac05f3c
        time:
          description: Time the response was generated.
          type: string
          format: date-time
          readOnly: true
          example: 2025-10-02T10:54:36.9161062Z
      additionalProperties: false
  examples:
    ResponseDataPointsExample1:
      summary: Managed Investments Data Points
      value:
        datapoints:
          - type: decimal
            name: annualReturnsHistorical.annualNetRet2021
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: true
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: riskStatistics.trackingError10YrMoEnd
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: true
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: esgFundLevelProductInvolvement.productInvolvementPercPesticides
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: 529CollegeInvestmentPackage.minAdditionalPurchaseResidentUsd
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: riskStatistics.treynorRatio15YrQtrEnd
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: true
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: int
            name: investmentBasicDetails.currencyHedgeAttributionJita
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: true
          - type: int
            name: feeLevelRanks.morningstarFeeLevelBroad
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: true
          - type: string
            name: equityPortfolioStatistics.numberOfHoldings
            operators:
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: gicsIndustryAndSubindustry.gicsGasUtilitiesPercLongRescaled
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: rg97FeeComponents.investmentManagementFeeProspective
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: int
            name: performanceRanks.retPercRankCat3MoMoEnd
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: int
            name: policyFees.rollingSurrender
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: true
          - type: decimal
            name: morningstarRatingMostRecent.morningstarReturn5Yr
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: string
            name: investmentBasicDetails.primaryProspectusBenchmarkId
            operators:
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: decimal
            name: mifidCostData.transactionCostsActualUk
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
          - type: string
            name: investmentBasicDetails.prospectusObjective
            operators:
              - eq
              - in
            isCurrencyDependent: false
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: true
          - type: decimal
            name: riskStatistics.arithmeticMean5YrMoEnd
            operators:
              - gt
              - lt
              - gte
              - lte
              - eq
              - in
            isCurrencyDependent: true
            isLanguageDependent: false
            isSortable: false
            fuzzy: false
            isCodeMapped: false
        metadata:
          requestId: f2e6ec6a-3f90-4b3c-a951-7558607a8d20
          time: 2025-09-29T13:04:51.190876Z
    ResponseStatus400Example1:
      summary: 400 - Invalid Data Point Names
      value:
        statusCode: 400
        errorCode: 400.screener.005
        message: Invalid dataPoint names {0}. Provide valid values.
        requestId: 5c2ad24c-964b-4f9b-9d9e-26b7bdb915d9
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT obtained from `POST /token/oauth`.


        Send it on every request as `Authorization: Bearer <token>`. Reuse the
        token for up to 60 minutes, then request a new one.
```
