Morningstar Universe API

Utility API for resolving the investment universes and identifiers available to an account across Direct Web Services.

Operations 1

GET /direct-web-services/v1/investments Query entitled universe to retrieve investment metadata #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/morningstar-universe-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

morningstar-investments-universe-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  title: Authorization Tokens Accounts Investments Universe API
  description: 'Use the `oauth` endpoint to generate the secure, time-limited JSON Web Tokens (JWTs) used to authorize access to APIs and components.</br></br>

    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: Investments Universe
paths:
  /direct-web-services/v1/investments:
    get:
      tags:
      - Investments Universe
      operationId: getInvestmentsUniverse
      summary: Query entitled universe to retrieve investment metadata
      description: '

        **Get Universe Entitlements**


        Retrieve the **primary filters** your account is entitled for.


        | Scenario| Request Inputs |

        |-----------|-------|

        | Get equities entitlements.| `GET /investments`|

        | Get managed investments entitlements.| `GET /investments?source=managedInvestments` |


        **Get Custom Universe**


        Retrieve a custom universe in full.


        | Scenario| Request Inputs |

        |-----------|-------|

        | Get equities custom universe.| `GET /investments?universe=MY_EQUITIES_ABC`|

        | Get managed investments custom universe.| `GET /investments?source=managedInvestments&universe=MY_MANAGED_INVESTMENTS_XYZ`|


        **Filter Equities**


        Further narrow a custom universe or filter full universe.


        | Scenario| Request Inputs |

        |-----------|-------|

        | Filter custom universe by primary filter.| `GET /investments?exchangeCode=XPAR&universe=MY_EQUITIES_ABC` |

        | Filter custom universe by primary and secondary filter.| `GET /investments?exchangeCode=XPAR&securityType=ST00000001&universe=MY_EQUITIES_ABC` |

        | Filter full universe by primary filter only.| `GET /investments?exchangeCode=XPAR` |

        | Filter full universe by primary and 1 secondary filter.| `GET /investments?exchangeCode=XPAR&securityType=ST00000001` |

        | Filter full universe by primary and 2 secondary filters.| `GET /investments?exchangeCode=XPAR&shareClassInformationInvestmentType=ST00000001&securityType=ST00000001` |



        **Filter Managed Investments**


        Further narrow a custom universe or filter full universe.


        | Scenario| Request Inputs |

        |-----------|-------|

        | Filter custom universe by a primary filter.| `GET /investments?source=managedInvestments&domicileCode=USA&universe=MY_MANAGED_INVESTMENTS_XYZ`|

        | Filter managed investments by a primary filter (`countryAvailableForSaleCode`) | `GET /investments?source=managedInvestments&countryAvailableForSaleCode=USA`|

        | Filter managed investments by a primary filter (`domicileCode`) | `GET /investments?source=managedInvestments&domicileCode=USA`|



        **Retrieve Results Using Pagination Tokens**


        Set pagination preferences in inital request and retrieve paginated results using tokens.


        | Scenario| Request Inputs |

        |-----------|-------|

        | Pagination settings initial request (default `pageSize`).| `GET /investments?exchangeCode=XPAR` |

        | Pagination settings subsequent requests (default `pageSize`).| `GET /investments?exchangeCode=XPAR&paginationTokenNext=CJjVEBoTOhE`|

        | Pagination settings initial request (explicit `pageSize`).| `GET /investments?exchangeCode=XPAR&pageSize=25` |

        | Pagination settings subsequent requests (explicit `pageSize`).| `GET /investments?exchangeCode=XPAR&pageSize=25&paginationTokenNext=CJjVEBoTOhE`|'
      parameters:
      - name: universe
        in: query
        description: Filters results to a custom universe defined during implementation for the account.
        schema:
          type: string
        example: MY_UNIVERSE_321
      - name: source
        in: query
        description: Specifies the investment data type to query.
        schema:
          type: string
          default: equities
          enum:
          - equities
          - managedInvestments
      - name: exchangeCode
        in: query
        description: Primary filter for equities. Filters results by exchange code.
        example: XPAR
        schema:
          type: string
      - name: securityType
        in: query
        description: "Secondary filter for equities. Accepts:\n\n  *   `ST00000001` - Common Stock\n  *   `ST00000002` - Preferred Stock\n  *   `ST00000003` - Industry\n  *   `ST00000004` - Index\n  *   `ST00000005` - ETF\n  *   `ST00000006` - Closed-end Fund\n  *   `ST00000007` - Investment Trusts\n  *   `ST00000008` - Warrant\n  *   `ST00000009` - Note\n  *   `ST000000A1` - Units\n  *   `ST000000B1` - Rights\n  *   `ST000000C1` - Unlisted Common\n  *   `ST000000C2` - Unlisted Preferred"
        example: ST00000001
        schema:
          type: string
          enum:
          - ST00000001
          - ST00000002
          - ST00000003
          - ST00000004
          - ST00000005
          - ST00000006
          - ST00000007
          - ST00000009
          - ST00000008
          - ST000000A1
          - ST000000B1
          - ST000000C1
          - ST000000C2
          x-enumDescriptions:
            ST00000001: Common Stock
            ST00000002: Preferred Stock
            ST00000003: Industry
            ST00000004: Index
            ST00000005: ETF
            ST00000006: Closed-end Fund
            ST00000007: Investment Trusts
            ST00000008: Warrant
            ST00000009: Note
            ST000000A1: Units
            ST000000B1: Rights
            ST000000C1: Unlisted Common
            ST000000C2: Unlisted Preferred
      - name: countryAvailableForSaleCode
        in: query
        description: Primary filter for managed investments. Accepts 3-character ISO 3166-1 country codes.
        example: AUS
        schema:
          type: string
      - name: domicileCode
        in: query
        description: Primary filter for managed investments. Accepts 3-character ISO 3166-1 country codes.
        example: AUS
        schema:
          type: string
      - name: shareClassInformationInvestmentType
        in: query
        description: "Secondary filter for equities.\n\nAccepts:\n\n  *   `EQ` - Equity\n  *   `DR` - Depository Receipt\n  *   `PE` - Preferred Equity\n  *   `UE` - Unlisted Equity"
        example: EQ
        schema:
          type: string
          enum:
          - EQ
          - DR
          - PE
          - UE
          x-enumDescriptions:
            EQ: Equity
            DR: Depository Receipt
            PE: Preferred Equity
            UE: Unlisted Equity
      - name: paginationTokenNext
        in: query
        description: Specifies the token to fetch the next page of results.
        example: CJ2aBBoROg81YmFuYyBzcGxpdCBpbmMaDDoKMHAwMDAwbTJkaiIMOgowUDAwMDBNMkRK
        schema:
          type: string
      - name: paginationTokenPrevious
        in: query
        description: Specifies the token to fetch the previous page of results.
        example: CJ2aBBoROg81YmFuYyBzcGxpdCBpbmMaDDoKMHAwMDAwbTJkaiIMOgowUDAwMDBNMkRK
        schema:
          type: string
      - name: pageSize
        in: query
        description: Specifies the number of records per page.
        example: 25
        schema:
          maximum: 50
          minimum: 1
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          $ref: '#/components/responses/ResponseInvestments'
        '400':
          $ref: '#/components/responses/ErrorResponse400'
components:
  schemas:
    ResponseInvestments:
      type: object
      description: Response containing investment results and metadata.
      properties:
        investments:
          type: array
          description: List of investments returned by the query.
          items:
            $ref: '#/components/schemas/ResponseInvestment'
        metadata:
          $ref: '#/components/schemas/ResponseInvestmentsMetadata'
      required:
      - investments
      - metadata
    DataPointString:
      title: DataPointString
      type: object
      properties:
        value:
          type:
          - string
          - 'null'
        code:
          type:
          - string
          - 'null'
      additionalProperties: false
    DataPointIntegerLong:
      title: DataPointIntegerLong
      type: object
      properties:
        value:
          type:
          - string
          - 'null'
        code:
          type:
          - integer
          - 'null'
          format: int64
      additionalProperties: false
    DataPointBoolean:
      title: DataPointBoolean
      type: object
      properties:
        value:
          type:
          - string
          - 'null'
        code:
          type:
          - boolean
          - 'null'
      additionalProperties: false
    DataModelCompanyInformation:
      type: object
      properties:
        businessCountryCode:
          $ref: '#/components/schemas/DataPointString'
        canNaics:
          type:
          - integer
          - 'null'
          description: An acronym for North American Industry Classification System (NAICS) specific to Canada; a 6-digit numerical classification assigned to individual companies. NAICS was developed jointly by the U.S.; Canada; and Mexico to provide new comparability in statistics about business activity across North America. It was intended to replace the U.S. Standard Industrial Classification (SIC) system.  The initial SIC and NAICS listed is the Primary code based on revenue generation; followed by Secondary SIC and NAICS when applicable. Both SIC and NAICS are manually collected and assigned.
          format: int64
        cik:
          type:
          - string
          - 'null'
          description: ''
        companyStatus:
          $ref: '#/components/schemas/DataPointString'
        domicileCountryCode:
          $ref: '#/components/schemas/DataPointString'
        expectedFiscalYearEnd:
          type:
          - string
          - 'null'
          description: The upcoming expected year end for the company; it is calculated based on the current year end (from latest available annual report) + 1 year
        fiscalYearEnd:
          $ref: '#/components/schemas/DataPointIntegerLong'
        globalTemplateIndustryTemplateCode:
          $ref: '#/components/schemas/DataPointString'
        industryClassificationEffectiveDate:
          type:
          - string
          - 'null'
          description: The effective date when the Morningstar Industry Classification is updated for the company
        ipoType:
          type:
          - string
          - 'null'
          description: This data point identifies two different processes a company can take to raise capital by listing shares on a public exchange; Initial public offering (Traditional IPO) and Direct Listing. IPO is the most common and traditional route; in which new shares are created; underwritten; and sold to the public. In a Direct Listing; no new shares are created; and only existing outstanding shares are sold with no underwriters involved. Traditional IPO and Direct Listing are the 2 types available starting in September 2021.  For historical data prior to September 2021; Traditional IPO is not available; the 2 possible values prior to September 2021 are Null and Direct Listing.
        isBusinessDevelopmentCompany:
          $ref: '#/components/schemas/DataPointBoolean'
        isic:
          type:
          - string
          - 'null'
          description: An acronym for International Standard Industrial Classification (ISIC); which was developed by the United Nations; and is the international reference classification of productive activities. Its main purpose is to provide a set of activity categories that can be utilized for the collection and reporting of statistics according to such activities. The majority of countries around the world have used ISIC as their national activity classification or have developed national classifications derived from ISIC.
        isLimitedLiabilityCompany:
          $ref: '#/components/schemas/DataPointBoolean'
        isLimitedPartnership:
          $ref: '#/components/schemas/DataPointBoolean'
        isMasterLimitedPartnership:
          $ref: '#/components/schemas/DataPointBoolean'
        isReit:
          $ref: '#/components/schemas/DataPointBoolean'
        isShellCompany:
          $ref: '#/components/schemas/DataPointBoolean'
        isSpecialPurposeAcquisitionCompany:
          $ref: '#/components/schemas/DataPointBoolean'
        legalName:
          type:
          - string
          - 'null'
          description: The full name of the registrant as specified in its charter; and most often found on the front cover of the 10K/10Q/20F filings or annual report
        legalNameLanguageCode:
          type:
          - string
          - 'null'
          description: 3-character language code for the foreign legal name if/when applicable
        lei:
          type:
          - string
          - 'null'
          description: The Legal Entity Identifier (LEI) is a 20-character; alpha-numeric code based on the ISO 17442 standard developed by the International Organization for Standardization (ISO). It connects to key reference information that enables clear and unique identification of legal entities participating in financial transactions.
        morningstarIndustryCode:
          $ref: '#/components/schemas/DataPointIntegerLong'
        morningstarIndustryGroupCode:
          $ref: '#/components/schemas/DataPointIntegerLong'
        morningstarSectorCode:
          $ref: '#/components/schemas/DataPointIntegerLong'
        morningstarSuperSectorCode:
          $ref: '#/components/schemas/DataPointIntegerLong'
        nace:
          type:
          - string
          - 'null'
          description: NACE is a European standard classification of economic activities maintained by Eurostat that  is similar to SIC and NAICS in North America. The NACE code is 5 characters long;  is arranged in the following format 00.00 and provides the framework for collecting and presenting a large range of statistical data according to economic activity. The use of NACE is mandatory within the European Statistical System.
        naics:
          type:
          - integer
          - 'null'
          description: An acronym for North American Industry Classification System (NAICS); a 6-digit numerical classification assigned to individual companies. NAICS was developed jointly by the U.S.; Canada; and Mexico to provide new comparability in statistics about business activity across North America. It was intended to replace the U.S. Standard Industrial Classification (SIC) system.  The initial SIC and NAICS listed is the Primary code based on revenue generation; followed by Secondary SIC and NAICS when applicable. Both SIC and NAICS are manually collected and assigned.
          format: int64
        operationStatus:
          $ref: '#/components/schemas/DataPointString'
        shortName:
          type:
          - string
          - 'null'
          description: '25-character max abbreviated name of the firm: In most cases; the short name will simply be the Legal Name less the Corporation; Corp.; Inc.; Incorporated; etc.'
        sic:
          type:
          - integer
          - 'null'
          description: An acronym for Standard Industrial Classification System (SIC); it is a system for classifying a business according to economic activity
          format: int64
        standardName:
          type:
          - string
          - 'null'
          description: Standard name for the entity
        stateOrCountryOfIncorporation:
          $ref: '#/components/schemas/DataPointString'
        usaNaics:
          type:
          - integer
          - 'null'
          description: An acronym for North American Industry Classification System (NAICS) specific to the United States; a 6-digit numerical classification assigned to individual companies. NAICS was developed jointly by the U.S.; Canada; and Mexico to provide new comparability in statistics about business activity across North America. It was intended to replace the U.S. Standard Industrial Classification (SIC) system.  The initial SIC and NAICS listed is the Primary code based on revenue generation; followed by Secondary SIC and NAICS when applicable. Both SIC and NAICS are manually collected and assigned.
          format: int64
        webAddress:
          type:
          - string
          - 'null'
          description: Indicates website address of company's contact information
        yearOfEstablishment:
          type:
          - integer
          - 'null'
          description: The year a company was founded
          format: int64
      additionalProperties: false
    DataModelBasicReference:
      type: object
      properties:
        assetsUnderAdvisementDate:
          type:
          - string
          - 'null'
          description: ''
        associatedShareClass:
          type:
          - string
          - 'null'
          description: ''
        baseCurrency:
          $ref: '#/components/schemas/DataPointString'
        baseUnit:
          type:
          - number
          - 'null'
          description: ''
          format: double
        brandingCompanyAsOfDate:
          type:
          - string
          - 'null'
          description: ''
        brandingName:
          type:
          - string
          - 'null'
          description: ''
        brandingNameId:
          type:
          - string
          - 'null'
          description: ''
        caFundCode:
          type:
          - string
          - 'null'
          description: ''
        countryAfsPerformanceLevel:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DataPointString'
          description: ''
        countryAvailableForSale:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DataPointString'
          description: ''
        countryRegisteredForSale:
          $ref: '#/components/schemas/DataPointString'
        custodianFee:
          type:
          - number
          - 'null'
          description: ''
          format: double
        custodianFeeAmountCn:
          type:
          - integer
          - 'null'
          description: ''
          format: int32
        delistingDate:
          type:
          - string
          - 'null'
          description: ''
        domicile:
          $ref: '#/components/schemas/DataPointString'
        domicileCountry:
          $ref: '#/components/schemas/DataPointString'
        externalManagementCompany:
          type:
          - string
          - 'null'
          description: ''
        firmLegalStructure:
          $ref: '#/components/schemas/DataPointString'
        firmName:
          type:
          - string
          - 'null'
          description: ''
        firmNameId:
          type:
          - string
          - 'null'
          description: ''
        firmType:
          $ref: '#/components/schemas/DataPointString'
        fundCode:
          type:
          - string
          - 'null'
          description: ''
        fundid:
          type:
          - string
          - 'null'
          description: ''
        fundLegalName:
          type:
          - string
          - 'null'
          description: ''
        fundLegalStructure:
          $ref: '#/components/schemas/DataPointString'
        fundStandardName:
          type:
          - string
          - 'null'
          description: ''
        germanWkn:
          type:
          - string
          - 'null'
          description: ''
        grossAssetsCurrency:
          $ref: '#/components/schemas/DataPointString'
        iaPrimaryShareClass:
          $ref: '#/components/schemas/DataPointString'
        inceptionDate:
          type:
          - string
          - 'null'
          description: ''
        inceptionDateOfFundSOldestShareClass:
          type:
          - string
          - 'null'
          description: ''
        indexFamilyId:
          type:
          - string
          - 'null'
          description: ''
        indexFamilyName:
          type:
          - string
          - 'null'
          description: ''
        investmentType:
          $ref: '#/components/schemas/DataPointString'
        ipoAssetRaised:
          type:
          - number
          - 'null'
          description: ''
          format: double
        ipoEndDate:
          type:
          - string
          - 'null'
          description: ''
        ipoStartDate:
          type:
          - string
          - 'null'
          description: ''
        isin:
          type:
          - string
          - 'null'
          description: ''
        itaCode:
          type:
          - string
          - 'null'
          description: ''
        latestAccountingDate:
          type:
          - string
          - 'null'
          description: ''
        legalName:
          type:
          - string
          - 'null'
          description: ''
        lifeTriggerEventDate:
          type:
          - string
          - 'null'
          description: ''
        lifeTriggerEventType:
          $ref: '#/components/schemas/DataPointString'
        listingDate:
          type:
          - string
          - 'null'
          description: ''
        localFirmNameJp:
          type:
          - string
          - 'null'
          description: ''
        localFirmNameKr:
          type:
          - string
          - 'null'
          description: ''
        localFirmShortNameJp:
          type:
          - string
          - 'null'
          description: ''
        localFundLegalNameKr:
          type:
          - string
          - 'null'
          description: ''
        localLegalNameJp:
          type:
          - string
          - 'null'
          description: ''
        localLegalNameKr:
          type:
          - string
          - 'null'
          description: ''
        localNameAfrikaans:
          type:
          - string
          - 'null'
          description: ''
        localNameCn:
          type:
          - string
          - 'null'
          description: ''
        localNameHebrew:
          type:
          - string
          - 'null'
          description: ''
        localNameHk:
          type:
          - string
          - 'null'
          description: ''
        localNameJp:
          type:
          - string
          - 'null'
          description: ''
        localNameKr:
          type:
          - string
          - 'null'
          description: ''
        localNameSg:
          type:
          - string
          - 'null'
          description: ''
        localNameThai:
          type:
          - string
          - 'null'
          description: ''
        localNameTw:
          type:
          - string
          - 'null'
          description: ''
        masterFundid:
          type:
          - string
          - 'null'
          description: ''
        masterPortfolioId:
          type:
          - integer
          - 'null'
          description: ''
          format: int32
        maximumSwingFactorDownwards:
          type:
          - number
          - 'null'
          description: ''
          format: double
        maximumSwingFactorUpwards:
          type:
          - number
          - 'null'
          description: ''
          format: double
        mexCode:
          type:
          - string
          - 'null'
          description: ''
        name:
          type:
          - string
          - 'null'
          description: ''
        nameOfFundSOldestShareClass:
          type:
          - string
          - 'null'
          description: ''
        obsoleteDate:
          type:
          - string
          - 'null'
          description: ''
        obsoleteType:
          $ref: '#/components/schemas/DataPointString'
        oldestShareClass:
          $ref: '#/components/schemas/DataPointString'
        operationsDataReady:
          $ref: '#/components/schemas/DataPointString'
        performanceDataReady:
          $ref: '#/components/schemas/DataPointString'
        performanceId:
          type:
          - string
          - 'null'
          description: ''
        performanceStartDate:
          type:
          - string
          - 'null'
          description: ''
        pieConversionDate:
          type:
          - string
          - 'null'
          description: ''
        portfolioCurrency:
          $ref: '#/components/schemas/DataPointString'
        portfolioDataReady:
          $ref: '#/components/schemas/DataPointString'
        portfolioDate:
          type:
          - string
          - 'null'
          description: ''
        previousNameOfFirm:
          type:
          - string
          - 'null'
          description: ''
        priceDataReady:
          $ref: '#/components/schemas/DataPointString'
        primaryShare:
          $ref: '#/components/schemas/DataPointString'
        priorFirmName:
          type:
          - string
          - 'null'
          description: ''
        productFocus:
          $ref: '#/components/schemas/DataPointString'
        regionOfSale:
          $ref: '#/components/schemas/DataPointString'
        registrationDateTw:
          type:
          - string
          - 'null'
          description: ''
        restructureDate:
          type:
          - string
          - 'null'
          description: ''
        secidForImport:
          type:
          - string
          - 'null'
          description: ''
        seriesName:
          type:
          - string
          - 'null'
          description: ''
        shareClassType:
          $ref: '#/components/schemas/DataPointString'
        sharesPercDateCn:
          type:
          - string
          - 'null'
          description: ''
        status:
          $ref: '#/components/schemas/DataPointString'
        swissValor:
          type:
          - string
          - 'null'
          description: ''
        ticker:
          type:
          - string
          - 'null'
          description: ''
        tickerOfFundSOldestShareClass:
          type:
          - string
          - 'null'
          description: ''
        underlyingFundInceptionDate:
          type:
          - string
          - 'null'
          description: ''
        underlyingFundName:
          type:
          - string
          - 'null'
          description: ''
        underlyingFundSecid:
          type:
          - string
          - 'null'
          description: ''
        usHeadquarters:
          type:
          - string
          - 'null'
          description: ''
        valuationCountry:
          $ref: '#/components/schemas/DataPointString'
        virtualClass:
          $ref: '#/components/schemas/DataPointString'
      additionalProperties: false
    ResponseInvestmentsIdentifiers:
      type: object
      description: Investment identifiers.
      properties:
        performanceId:
          type: string
          description: Morningstar Performance ID.
          example: 0P0001MIXG
    ErrorResponse:
      title: ErrorResponse
      type: object
      properties:
        statusCode:
          type: string
          description: Indicates the HTTP status code.
          example: 400
        errorCode:
          type: string
          description: Indicates the unique error identifier.
          example: 400.InvestmentDetails.020
        message:
          type: string
          description: Description of the error.
          example: Invalid source input for CountryAvailableForSaleCode
        requestId:
          type: string
          description: Indicates the unique request identifier.
          example: 6631c374-2331-4c7e-b6f2-d0c0079f6ee
      description: Status 400 Code and Message
    ResponseInvestmentsMetadata:
      title: ResponseInvestmentsMetadata
      type: object
      properties:
        time:
          description: Time response was returned.
          example: '2025-10-02T10:54:36.9161062Z'
          type: string
          format: date-time
        requestId:
          description: Unique identifier of a request.
          type: string
          example: 7ccd91c0-6146-4256-8aba-3a1f2e5d0203
        paginationTokenNext:
          type: string
          description: Token to fetch next page of results.
          example: CNOAQhoJKQBIuTktAQAAGhU6E3RlYW0gcGFydG5lcnMgZ3JvdXAaDDoKMHAwMDAwYTZ6dCIMOgowUDAwMDBBNlpU
        paginationTokenPrevious:
          type: string
          description: Token to fetch previous page of results.
          example: CKDjNhoJKQBIuTktAQAAGg06C2dkZiBzdWV6IHNhGgw6CjBwMDAwMDl3cW8iDDoKMFAwMDAwOVdRTw==
        totalCount:
          type: integer
          description: Total number of results found.
          example: 2162
          format: int32
        exchanges:
          type:
          - array
          - 'null'
          description: Exchange and MIC codes account is entitled for.
          items:
            $ref: '#/components/schemas/ResponseInvestmentsMetadataExchanges'
        countryAvailableForSale:
          description: Countries for which account is entitled for.
          type:
          - array
          - 'null'
          items:
            type: string
        domiciles:
          description: Countries for which account is entitled.
          type:
          - array
          - 'null'
          items:
            type: string
    ResponseInvestmentsMetadataExchanges:
      title: ResponseInvestmentsMetadataExchanges
      type: object
      properties:
        exchangeCode:
          description: Exchange code.
          example: SWA
          readOnly: true
        micCode:
          description: Market Identifier Code (MIC).
          type: string
          example: XSWA
    DataModelShareClassInformation:
      type: object
      properties:
        commonShareSubType:
          type:
          - string
          - 'null'
          description: Refers to the type of securities that can be found within the equity database. For the vast majority; this value will populate as null for regular common shares. For a minority of share classes; this will populate as either Participating Preferred; Closed-End Fund; Foreign Share; or Foreign Participated Preferred which reflects our limited coverage of these types of securities within our equity database.
        conversionRatio:
          type:
          - number
          - 'null'
          description: The relationship between the chosen share class and the primary share class
          format: double
        cusip:
          type:
          - string
          - 'null'
          description: ''
        directInvest:
          $ref: '#/components/schemas/DataPointBoolean'
        dividendReinvest:
          $ref: '#/components/schemas/DataPointBoolean'
        drRatio:
          type:
          - number
          - 'null'
          description: The number of underlying common shares backing each depositary receipt (DR) traded.
          format: double
        exchangeCode:
          type:
          - string
          - 'null'
          description: A symbol for the stock exchange name; usually consisting of 3 to 5 characters; examples include NYSE; NAS; LSE; OTCBB ($$$ is used for private/unlisted securities)
        exchangeSubMarketGlobalId:
          type:
          - string
          - 'null'
          description: Indicates a different marketplace or the different market tiers within a stock exchange.
        investmentId:
          type:
          - string
          - 'null'
          description: Morningstar Issuer Id/ Investment Id
        investmentName:
          type:
          - string
          - 'null'
          description: Morningstar standard investment name
        investmentPrimaryIssuer:
          $ref: '#/components/schemas/DataPointString'
        investmentStatus:
          type:
          - integer
          - 'null'
          description: '0: obsolete1: active9: other'
          format: int32
        investmentType:
          type:
          - string
          - 'null'
          description: 'The abbreviation for investment type classifications: Equity (EQ); Depositary Receipt (DR); Pre

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/morningstar/refs/heads/main/openapi/morningstar-investments-universe-api-openapi.yml