{
  "opencollection": "1.0.0",
  "info": {
    "name": "Authorization Tokens Accounts Performance API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Performance",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Calculate portfolio performance",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.us-api.morningstar.com/token/portfolioanalysis/v1/performance",
            "params": [
              {
                "name": "langcult",
                "value": "",
                "type": "query",
                "description": "Language and locale used for the response. Defaults to en-US."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Calculate performance for portfolios specified in the request body. </br></br>To override the default value in the Accept-Language HTTP header, use the `langcult` parameter."
        },
        {
          "info": {
            "name": "Get 12-Month Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/12-mo-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "An expression of the amount paid out in distributions (pre-tax) by the investment in the last 12 months expressed as a percentage of the previous month end price."
        },
        {
          "info": {
            "name": "Get 7-Day Gross Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/7-day-gross-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get 7-Day Gross Yield time series."
        },
        {
          "info": {
            "name": "Get 7-Day Unsubsidized Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/7-day-unsubsidized-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get 7-Day Unsubsidized Yield time series."
        },
        {
          "info": {
            "name": "Get 7-Day Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/7-day-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A figure calculated using the formula under Item 26. (a) (1) of SEC Form N-1A to reflect the expenses net of subsidies of management fee waiver or reimbursement."
        },
        {
          "info": {
            "name": "Get Aggregated 12-Month Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/aggregated-12-month-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The asset-weighted and rescaled aggregation of the 12 month yield of eligible holdings within a fund's portfolio."
        },
        {
          "info": {
            "name": "Get Aggregated Sec Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/aggregated-sec-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The asset-weighted and rescaled aggregation of the SEC yield of eligible holdings within a fund's portfolio."
        },
        {
          "info": {
            "name": "Get Cum Fair NAV Unweighted Dri time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/cum-fair-nav-unweighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception."
        },
        {
          "info": {
            "name": "Get Cum Fair NAV Weighted Dri time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/cum-fair-nav-weighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price. Index values are available daily back to inception."
        },
        {
          "info": {
            "name": "Get Cumulative Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/cumulative-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              },
              {
                "name": "performanceType",
                "value": "",
                "type": "query",
                "description": "Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only."
              },
              {
                "name": "annualDays",
                "value": "",
                "type": "query",
                "description": "Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only."
              },
              {
                "name": "annualized",
                "value": "",
                "type": "query",
                "description": "Specifies whether the calculation results should be annualized. Used with calculated data points only."
              },
              {
                "name": "preCurrency",
                "value": "",
                "type": "query",
                "description": "Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only."
              },
              {
                "name": "requireContinueData",
                "value": "",
                "type": "query",
                "description": "Specifies whether continuous data is required for calculations. Used with calculated data points only."
              },
              {
                "name": "stepSize",
                "value": "",
                "type": "query",
                "description": "Specifies the step size for rolling or iterative calculations. Used with 'rolling-return' data point only. For example, `stepSize=12` and `frequency=monthly` 12-month rolling values are calculated."
              }
            ]
          },
          "docs": "Get Cumulative Return time series."
        },
        {
          "info": {
            "name": "Get Current Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/current-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Annual income (interest or dividends) divided by the current price of the security. This measure looks at the current price of a bond instead of its face value and represents the return an investor would expect if he or she purchased the bond and held it for a year."
        },
        {
          "info": {
            "name": "Get Daily Bid Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-bid-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The highest price a market maker will pay to purchase a specified number of shares of a mutual fund at any given time."
        },
        {
          "info": {
            "name": "Get Daily Closing Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-closing-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Closing price generally refers to the last price at which a stock trades during a regular trading session."
        },
        {
          "info": {
            "name": "Get Daily Estimated Holding Cost time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-estimated-holding-cost/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The Estimated Holding Cost calculation uses the daily NAV and total return benchmark returns from the Tracking Error calculation."
        },
        {
          "info": {
            "name": "Get Daily Gross Return Index time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-gross-return-index/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The daily account balance estimate that was experienced by an investor who purchased 1 share of separate account on inception date."
        },
        {
          "info": {
            "name": "Get Daily High Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-high-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "High price generally refers to the highest price at which a stock trades during a regular trading session."
        },
        {
          "info": {
            "name": "Get Daily Load Adj Return Index Restated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-load-adj-return-index-restated/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Return calculated by load-adjustment methodology (refer to methodology paper for details)"
        },
        {
          "info": {
            "name": "Get Daily Low Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-low-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Low price generally refers to the lowest price at which a stock trades during a regular trading session."
        },
        {
          "info": {
            "name": "Get Daily Market Impact Cost time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-market-impact-cost/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Market Impact Cost is calculated as a fraction of the daily volatility in an ETF’s market price relative to its underlying value (as determined by the NAV)."
        },
        {
          "info": {
            "name": "Get Daily Market Return Index time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-market-return-index/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The daily market price account balance that is experienced by an investor who purchased 1 share on inception date."
        },
        {
          "info": {
            "name": "Get Daily Net Return Index time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-net-return-index/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception."
        },
        {
          "info": {
            "name": "Get Daily Offer Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-offer-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The lowest price at which a market maker will sell a specified number of shares of a mutual fund at any given time."
        },
        {
          "info": {
            "name": "Get Daily OHLCV time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-ohlcv/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Daily open, high, low, closing and volume price data"
        },
        {
          "info": {
            "name": "Get Daily Portfolio Concentration time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-portfolio-concentration/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Portfolio Concentration is calculated by a linear regression of the ETF’s daily market returns on the daily returns of three risk factors calculated from Morningstar indexes."
        },
        {
          "info": {
            "name": "Get Daily Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The NAV price for the fund as of the performance date."
        },
        {
          "info": {
            "name": "Get Daily Return Index (DRI) time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-return-index/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The daily account balance experienced by an investor who purchased 1 share on inception date. The numbers do reflect any uninvested cash accrued to the account (such as future distributions and daily dividends)."
        },
        {
          "info": {
            "name": "Get Daily Return Index (DRI) Cum Fair time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-return-index-cum-fair/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception."
        },
        {
          "info": {
            "name": "Get Daily Tracking Volatility time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-tracking-volatility/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Tracking Volatility is a measure of the day-to-day random variation in a fund portfolio versus its benchmark index."
        },
        {
          "info": {
            "name": "Get Daily Volume time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-volume/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "This is the number of shares or contracts traded for a security in one day."
        },
        {
          "info": {
            "name": "Get Daily Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "This data point shows the yield on that day for interest rate index series where the data are expressed as per annum interest rates, also known as yields."
        },
        {
          "info": {
            "name": "Get Dividend Yield 12 Month time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/dividend-yield-12-month/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A financial ratio that indicates how much a fund's underlying holdings pay out in dividends each year relative to the net asset value of the fund."
        },
        {
          "info": {
            "name": "Get Dividend Yield Long time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/dividend-yield-long/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A financial ratio that indicates how much a company pays out in dividends each year relative to its share price."
        },
        {
          "info": {
            "name": "Get Dividend Yield Short time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/dividend-yield-short/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A financial ratio that indicates how much a company pays out in dividends each year relative to its share price."
        },
        {
          "info": {
            "name": "Get Estimated Quarterly Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/estimated-quarterly-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Morningstar Estimated Performance for Hedge Funds: Quarterly returns for hedge funds that are calculated using public filings or financial statements of entities that own shares and interests in hedge funds."
        },
        {
          "info": {
            "name": "Get Estimated Share Class Net Flow Daily time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/estimated-share-class-net-flow-daily/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Estimated Share Class Net Flow Daily is computed using yesterday's Total Net Assets, today's Total Net Assets, and the daily Total Return of the share class."
        },
        {
          "info": {
            "name": "Get Estimated Share Class Net Flow Monthly time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/estimated-share-class-net-flow-monthly/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Estimated Share-Classs Level Net Flow Monthly is computed using beginning and ending monthly Total Net Assets and Monthly Total Return."
        },
        {
          "info": {
            "name": "Get Ex Par NAV Unweighted DRI time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/ex-par-nav-unweighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception."
        },
        {
          "info": {
            "name": "Get Ex Par NAV Weighted DRI time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/ex-par-nav-weighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Includes both our Total Return and Daily Market Return data which adjust for all dividends and capital gains so that clients can make customized point-to-point total return calculations.TRI leverages the NAV of a product while DMRI will utilize the market price.Index values are available daily back to inception."
        },
        {
          "info": {
            "name": "Get Fund Size Comprehensive Daily time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/fund-size-comprehensive-daily/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Fund Size Comprehensive Daily time series."
        },
        {
          "info": {
            "name": "Get Fund Size Comprehensive Monthly time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/fund-size-comprehensive-monthly/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Fund Size Comprehensive Monthly time series."
        },
        {
          "info": {
            "name": "Get Fund Size Surveyed Daily time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/fund-size-surveyed-daily/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Fund Size Surveyed Daily time series."
        },
        {
          "info": {
            "name": "Get Fund Size Surveyed Monthly time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/fund-size-surveyed-monthly/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Fund Size Surveyed Monthly time series."
        },
        {
          "info": {
            "name": "Get Growth time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/growth/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              },
              {
                "name": "initialInvestment",
                "value": "",
                "type": "query",
                "description": "Specifies the initial value for calculations that require a starting point. For example initialValue=10000 sets the base value for index calculations. Used with the growth data point only."
              },
              {
                "name": "performanceType",
                "value": "",
                "type": "query",
                "description": "Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only."
              },
              {
                "name": "annualDays",
                "value": "",
                "type": "query",
                "description": "Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only."
              },
              {
                "name": "preCurrency",
                "value": "",
                "type": "query",
                "description": "Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only."
              },
              {
                "name": "requireContinueData",
                "value": "",
                "type": "query",
                "description": "Specifies whether continuous data is required for calculations. Used with calculated data points only."
              }
            ]
          },
          "docs": "Get Growth time series."
        },
        {
          "info": {
            "name": "Get Income Only Yield NAV UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/income-only-yield-nav-uk/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Income Only Yield NAV UK time series."
        },
        {
          "info": {
            "name": "Get Income Only Yield NAV US time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/income-only-yield-nav-us/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Income Only Yield NAV US time series."
        },
        {
          "info": {
            "name": "Get Income Only Yield Price US time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/income-only-yield-price-us/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Income Only Yield Price US time series."
        },
        {
          "info": {
            "name": "Get Monthly Downside Tracking Error time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-downside-tracking-error/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Downside tracking error is defined as the standard deviation of a fund's negative excess returns. In the context of exchange traded-funds, negative excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark, where the daily return of the exchange-traded fund was lower than that of its primary prospectus."
        },
        {
          "info": {
            "name": "Get Monthly Gross Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-gross-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time."
        },
        {
          "info": {
            "name": "Get Monthly Inflation Adjusted Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-inflation-adjusted-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return."
        },
        {
          "info": {
            "name": "Get Monthly Load Adj Return Restated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-load-adj-return-restated/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Return calculated by load-adjustment methodology (refer to methodology paper for details)"
        },
        {
          "info": {
            "name": "Get Monthly Market Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-market-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A exchange-traded or closed-end fund's total return based on close market prices, as opposed to NAV."
        },
        {
          "info": {
            "name": "Get Monthly Net Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-net-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The return of Separate Account investment after deducting all expenses from the gross return generated by investment."
        },
        {
          "info": {
            "name": "Get Monthly Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Expressed in percentage terms, Morningstar's calculation of total return is determined each month by taking the change in monthly net asset value, reinvesting all income and capital-gains distributions during that month, and dividing by the starting NAV."
        },
        {
          "info": {
            "name": "Get Monthly Return Unweighted NAV time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-return-unweighted-nav/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The monthly return of the Peer Group Index (PGI), using a monthly rebalanced, equal-weighted average of the NAVs of the constituent funds of the PGI."
        },
        {
          "info": {
            "name": "Get Monthly Return Unweighted Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-return-unweighted-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The monthly return of the Peer Group Index (PGI), using a monthly rebalanced, equal-weighted average of prices of the constituent funds of the PGI."
        },
        {
          "info": {
            "name": "Get Monthly Return Weighted NAV time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-return-weighted-nav/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The monthly return of the Peer Group Index (PGI), using a daily rebalanced, asset-weighted average of NAVs of the constituent funds of the PGI."
        },
        {
          "info": {
            "name": "Get Monthly Return Weighted Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-return-weighted-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The monthly return of the Peer Group Index (PGI), using a daily rebalanced, asset-weighted average of prices of the constituent funds of the PGI."
        },
        {
          "info": {
            "name": "Get Monthly Tracking Error time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-tracking-error/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Tracking error is defined as the standard deviation of a fund's excess returns. In the context of exchange traded-funds, excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark."
        },
        {
          "info": {
            "name": "Get Monthly Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/monthly-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Monthly Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Unweighted Daily Income And Capital Gain Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-unweighted-daily-income-and-capital-gain-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get NAV Unweighted Daily Income And Capital Gain Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Unweighted Daily Income Only Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-unweighted-daily-income-only-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get NAV Unweighted Daily Income Only Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Unweighted Daily Total Distribution Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-unweighted-daily-total-distribution-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get NAV Unweighted Daily Total Distribution Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Unweighted DRI time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-unweighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI)."
        },
        {
          "info": {
            "name": "Get NAV Weighted Daily Income And Capital Gain Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-weighted-daily-income-and-capital-gain-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get NAV Weighted Daily Income And Capital Gain Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Weighted Daily Income Only Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-weighted-daily-income-only-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get NAV Weighted Daily Income Only Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Weighted Daily Total Distribution Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-weighted-daily-total-distribution-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get NAV Weighted Daily Total Distribution Yield time series."
        },
        {
          "info": {
            "name": "Get NAV Weighted DRI time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/nav-weighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI)."
        },
        {
          "info": {
            "name": "Get Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              },
              {
                "name": "performanceType",
                "value": "",
                "type": "query",
                "description": "Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only."
              }
            ]
          },
          "docs": "Get Price time series data."
        },
        {
          "info": {
            "name": "Get Price Unweighted Daily Income And Capital Gain Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-unweighted-daily-income-and-capital-gain-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Price Unweighted Daily Income And Capital Gain Yield time series."
        },
        {
          "info": {
            "name": "Get Price Unweighted Daily Income Only Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-unweighted-daily-income-only-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Price Unweighted Daily Income Only Yield time series."
        },
        {
          "info": {
            "name": "Get Price Unweighted Daily Total Distribution Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-unweighted-daily-total-distribution-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Price Unweighted Daily Total Distribution Yield time series."
        },
        {
          "info": {
            "name": "Get Price Unweighted DRI  time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-unweighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI)."
        },
        {
          "info": {
            "name": "Get Price Weighted Daily Income And Capital Gain Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-weighted-daily-income-and-capital-gain-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Price Weighted Daily Income And Capital Gain Yield time series."
        },
        {
          "info": {
            "name": "Get Price Weighted Daily Income Only Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-weighted-daily-income-only-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Price Weighted Daily Income Only Yield time series."
        },
        {
          "info": {
            "name": "Get Price Weighted Daily Total Distribution Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-weighted-daily-total-distribution-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Price Weighted Daily Total Distribution Yield time series."
        },
        {
          "info": {
            "name": "Get Price Weighted Dri time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/price-weighted-dri/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI (Daily Return Index) reflects the daily return experienced by 1 share of a hypothetical portfolio constructed from the current constituent funds of the Peer Group Index (PGI)."
        },
        {
          "info": {
            "name": "Get Quarterly Downside Tracking Error time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-downside-tracking-error/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Downside tracking error is defined as the standard deviation of a fund's negative excess returns. In the context of exchange traded-funds, negative excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark, where the daily return of the exchange-traded fund was lower than that of its primary prospectus."
        },
        {
          "info": {
            "name": "Get Quarterly Gross Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-gross-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time."
        },
        {
          "info": {
            "name": "Get Quarterly Inflation Adjusted Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-inflation-adjusted-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return."
        },
        {
          "info": {
            "name": "Get Quarterly Load Adjusted Return Restated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-load-adj-return-restated/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Return calculated by load-adjustment methodology (refer to methodology paper for details)"
        },
        {
          "info": {
            "name": "Get Quarterly Market Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-market-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A exchange-traded or closed-end fund's total return based on market prices, as opposed to NAV. Morningstar calculates the market-price return by taking the change in the fund's market price, reinvesting all income and capital-gains distributions during the period, and dividing by the starting market price."
        },
        {
          "info": {
            "name": "Get Quarterly Net Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-net-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The return of Separate Account investment after deducting all expenses from the gross return generated by investment."
        },
        {
          "info": {
            "name": "Get Quarterly Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Total returns calculated for calendar quarters."
        },
        {
          "info": {
            "name": "Get Quarterly Tracking Error time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quarterly-tracking-error/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Tracking error is defined as the standard deviation of a fund's excess returns. In the context of exchange traded-funds, excess returns refer to the absolute difference between the fund's performance and that of its primary prospectus benchmark."
        },
        {
          "info": {
            "name": "Get Quoted Yield Daily time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/quoted-yield-daily/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get Quoted Yield Daily time series."
        },
        {
          "info": {
            "name": "Get Raw Return Cum Fair time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/raw-return-cum-fair/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI series for the capital (dividends excluded) return of the share class"
        },
        {
          "info": {
            "name": "Get Raw Return Market Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/raw-return-market-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI series for the capital (dividends excluded) return of the share class"
        },
        {
          "info": {
            "name": "Get Raw Return NAV time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/raw-return-nav/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The DRI series for the capital (dividends excluded) return of the share class"
        },
        {
          "info": {
            "name": "Get Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              },
              {
                "name": "performanceType",
                "value": "",
                "type": "query",
                "description": "Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only."
              },
              {
                "name": "annualDays",
                "value": "",
                "type": "query",
                "description": "Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only."
              },
              {
                "name": "preCurrency",
                "value": "",
                "type": "query",
                "description": "Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only."
              },
              {
                "name": "requireContinueData",
                "value": "",
                "type": "query",
                "description": "Specifies whether continuous data is required for calculations. Used with calculated data points only."
              }
            ]
          },
          "docs": "Get Return time series."
        },
        {
          "info": {
            "name": "Get Rolling Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/rolling-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              },
              {
                "name": "performanceType",
                "value": "",
                "type": "query",
                "description": "Specifies the type of performance calculation to apply. Accepts up to two values. The first value is considered the preferred or primary performance type. The second value is considered the secondary performance type and serves as a fallback if the preferred type returns no data. If only one value is provided, no fallback is attempted. Used with calculated data points only."
              },
              {
                "name": "annualDays",
                "value": "",
                "type": "query",
                "description": "Specifies the number of days in a year for annualized calculations. Common values are 252 for business days, 365 for calendar days. Used with calculated data points only."
              },
              {
                "name": "annualized",
                "value": "",
                "type": "query",
                "description": "Specifies whether the calculation results should be annualized. Used with calculated data points only."
              },
              {
                "name": "preCurrency",
                "value": "",
                "type": "query",
                "description": "Specifies the currency to use before currency conversion. Accepts 3-character ISO 4217 currency codes. Used with calculated data points only."
              },
              {
                "name": "requireContinueData",
                "value": "",
                "type": "query",
                "description": "Specifies whether continuous data is required for calculations. Used with calculated data points only."
              },
              {
                "name": "stepSize",
                "value": "",
                "type": "query",
                "description": "Specifies the step size for rolling or iterative calculations. Used with 'rolling-return' data point only. For example, `stepSize=12` and `frequency=monthly` 12-month rolling values are calculated."
              },
              {
                "name": "windowSize",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              }
            ]
          },
          "docs": "Get Rolling Return time series."
        },
        {
          "info": {
            "name": "Get SEC  Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/sec-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A calculation based on a 30-day period ending on the last of the previous month. It is computed by dividing the net investment income per share earned during the period by the maximum offering price per share on the last day of the period."
        },
        {
          "info": {
            "name": "Get SEC  Yield Rescaling Factor time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/sec-yield-rescaling-factor/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Get SEC  Yield Rescaling Factor time series."
        },
        {
          "info": {
            "name": "Get SITCA  Yield time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/sitca-yield/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "SITCA Yield estimates a fund's annual income per share yield. For funds that issue monthly dividends, the most recent income distribution is multiplied by 12 and then divided by the fund's net asset value (NAV) as of the previous business day of ex-date."
        },
        {
          "info": {
            "name": "Get Unannualized time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/unannualized/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A tag indicating that the number is not annualized."
        },
        {
          "info": {
            "name": "Get Yearly Capital Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-capital-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Rate of return over a holding period that is attributed to a change in the fund's capital value. This measure includes the change in the fund's NAV as well as all distributions that are classified as short-term capital gains, long-term capital gains, or return of capital."
        },
        {
          "info": {
            "name": "Get Yearly Gross Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-gross-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The return an investor would have received had they not paid any expenses. The calculation of gross return adjusts the monthly total return for the share class by the share class level fees prevailing at that time."
        },
        {
          "info": {
            "name": "Get Yearly Income Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-income-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Income return is the portion of the holding period return that is attributed to dividend distributions."
        },
        {
          "info": {
            "name": "Get Yearly Inflation Adjusted Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-inflation-adjusted-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A Inflation Adjusted return calculation that is adjusted to account for inflation during the period, thus providing a real return."
        },
        {
          "info": {
            "name": "Get Yearly Interest Income time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-interest-income/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Total interest income dividends paid by the fund in the calendar year."
        },
        {
          "info": {
            "name": "Get Yearly Investor Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-investor-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Morningstar® Investor Return™ (also known as dollar-weighted return) measures how the average investor fared in a fund over a period of time."
        },
        {
          "info": {
            "name": "Get Yearly Load Adj Return Restated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-load-adj-return-restated/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Return calculated by load-adjustment methodology (refer to methodology paper for details)"
        },
        {
          "info": {
            "name": "Get Yearly Market Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-market-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "A exchange-traded or closed-end fund's total return based on market prices, as opposed to NAV. Morningstar calculates the market-price return by taking the change in the fund's market price, reinvesting all income and capital-gain distributions during the period, and dividing by the starting market price."
        },
        {
          "info": {
            "name": "Get Yearly Net Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-net-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "The return of Separate Account investment after deducting all expenses from the gross return generated by investment."
        },
        {
          "info": {
            "name": "Get Yearly Return time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/yearly-return/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Expressed in percentage terms, Morningstar's calculation of total return is determined each month by taking the change in monthly net asset value, reinvesting all income and capital-gains distributions during that month, and dividing by the starting NAV."
        },
        {
          "info": {
            "name": "Get Daily Open Price time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/performance/daily-open-price/:ids",
            "params": [
              {
                "name": "ids",
                "value": "",
                "type": "path",
                "description": "\nComma-separated list of up to 25 investment identifiers to query.\n\nAccepts:\n\n- Morningstar Performance ID (default)\n- Morningstar Security ID\n- Morningstar IDs (MSID)\n- ISIN\n- CUSIP\n- Trading symbol\n- Category ID   \n  Important: When a category ID is passed, the corresponding `identifierType` can be `performanceId` or `securityId`. The value must be URL-encoded. For example, if the category ID is `LC00002226;CA]FO`, the URL-encoded value is `LC00002226;CA%5DFO`."
              },
              {
                "name": "idTypes",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list specifying the type of each value passed in the `ids` parameter.<br>\nRules:\n\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n*   Empty values default to `performanceId`\n\nExample:\n\n*   `ids=id1,id2,id3`\n*   `id1` and `id3` are performance IDs\n*   `id2` is a security ID\n*   `idTypes=,securityId`\n\nAccepted values:\n\n*   `performanceId` (default)\n*   `isin`\n*   `securityId`\n*   `cusip`\n*   `tradingSymbol`\n*   `msid`"
              },
              {
                "name": "baseCurrency",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 4217 currency codes (for example, `CAD`, `EUR`, `JPY`).<br>\n\n*   Filters results based on currency\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Base currency passed for `id2` and `id4`\n*   `baseCurrency=,USD,,USD`"
              },
              {
                "name": "domicile",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`). \nRules:\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Domicile passed for `id2` and `id4`\n*   `domicile=,USA,,USA`"
              },
              {
                "name": "exchangeCountry",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of 3-character ISO 3166‑1 country codes (for example, `CAN`, `IRL`, `IND`).\n\n\n*   Filters results based on domicile\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange country passed for `id2` and `id4`\n*   `exchangeCountry=,USA,,USA`"
              },
              {
                "name": "exchangeId",
                "value": "",
                "type": "query",
                "description": "\nComma-separated list of exchange IDs (for example, `EX$$$$XMEX`, `EX$$$$XNAS`).\n\n*   Filters results based on exchange ID\n*   Values must align with the order of values in `ids`\n*   Use empty entries to skip\n*   Omit trailing commas after the last non-empty value\n\nExample:\n\n*   `ids=id1,id2,id3,id4,id5`\n*   Exchange ID passed for `id2` and `id4`\n*   `exchangeId=,EX$$$$XMEX,,EX$$$$XNAS`"
              },
              {
                "name": "frequency",
                "value": "",
                "type": "query",
                "description": "Specifies the time interval between data points."
              },
              {
                "name": "startDate",
                "value": "",
                "type": "query",
                "description": "Specifies the start date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "endDate",
                "value": "",
                "type": "query",
                "description": "Specifies the end date for the time series. Accepted format is `yyyy-MM-dd`.\n"
              },
              {
                "name": "timePeriod",
                "value": "",
                "type": "query",
                "description": "Specifies the size of the time window for the data range. \n\n- Used in combination with `timePeriodUnit` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "timePeriodUnit",
                "value": "",
                "type": "query",
                "description": "\nSpecifies the time period unit. \n\n- Used in combination with `timePeriod` to specify relative time ranges. \n\n- When `startDate`, `endDate`, `timePeriod` and `timePeriodUnit` are provided, `timePeriod` and `timePeriodUnit` take precedence."
              },
              {
                "name": "applyEarliestCommonDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the earliest common start date across all investments.\n\n When set to `true`, the start date of the time series is adjusted to match the latest inception date among the investments, ensuring all data points are aligned."
              },
              {
                "name": "applyTrackRecordExtension",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to apply the Track Record Extension logic in order to extend the performance of an investment by copying the historical performance of another qualified older investment."
              },
              {
                "name": "applyRestructureDate",
                "value": "",
                "type": "query",
                "description": "\nSpecifies whether to consider the Morningstar or Custom restructure date when determining the start of the performance period.\n\nThis option is applicable only when `applyEarliestCommonDate` is set to true."
              },
              {
                "name": "sinceInception",
                "value": "",
                "type": "query",
                "description": "\nSets the time range from inception (or the maximum supported lookback) to the end date. \n\nTakes precendence over any `timePeriod` / `timePeriodUnit` and `startDate` / `endDate` settings."
              },
              {
                "name": "currencyId",
                "value": "",
                "type": "query",
                "description": "Specifies the currency in which to return data."
              }
            ]
          },
          "docs": "Open price generally refers to the stock price at the open of a trading session."
        },
        {
          "info": {
            "name": "Calculate portfolio performance",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://www.us-api.morningstar.com/token/performance",
            "params": [
              {
                "name": "langcult",
                "value": "",
                "type": "query",
                "description": "Language and locale, for example, en-US"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Calculate performance for portfolios specified in the request body. </br></br>To override the default value in the Accept-Language HTTP header, use the `langcult` parameter."
        }
      ]
    }
  ],
  "bundled": true
}