{
  "opencollection": "1.0.0",
  "info": {
    "name": "Authorization Tokens Accounts Fees & Expenses API",
    "version": "1.0.0"
  },
  "request": {
    "auth": {
      "type": "basic",
      "username": "{{username}}",
      "password": "{{password}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Fees & Expenses",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get Accounting Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/accounting-fee/: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 fee is reported in U.S. dollars and represents pricing service, financial agent, or security servicing fees as represented in the fund's annual report."
        },
        {
          "info": {
            "name": "Get Administrator Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/administrator-fee/: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 amount that the fund spent on administration costs during the last fiscal year, as reported in the most recent annual report."
        },
        {
          "info": {
            "name": "Get Advisor Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/advisor-fee/: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 fee represents the amount charged by manager(s) as represented in the fund's annual report."
        },
        {
          "info": {
            "name": "Get Annual Ongoing Charge Excluding Performance Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/annual-ongoing-charge-excluding-performance-fee/: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 costs expected to pay as a Hong Kong-based investor from one year to the next, which encompasses the fund's professional fees, management fees, audit fees and custody fees , but excludes performance fees."
        },
        {
          "info": {
            "name": "Get Annual Ongoing Charge Including Performance Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/annual-ongoing-charge-including-performance-fee/: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 costs expected to pay as a Hong Kong-based investor from one year to the next, which encompasses the fund's professional fees, management fees, audit fees and custody fees and performance fees."
        },
        {
          "info": {
            "name": "Get Annual Report Adjusted Expense Ratio time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/annual-report-adjusted-expense-ratio/: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 Annual Report Adjusted Expense Ratio time series."
        },
        {
          "info": {
            "name": "Get Annual Report Management Expense Ratio (MER) time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/annual-report-management-expense-ratio-mer/: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 percentage of a fund's average net assets paid out each year to cover the fixed costs of managing the fund as stated in the fund's Annual Report and Semi-annual Report."
        },
        {
          "info": {
            "name": "Get Annual Report Ongoing Charge (OGC) time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/annual-report-ongoing-charge/: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": "Ongoing charge (OGC), which is required to publish in Key Investor Information Document (KIID) for EU UCITS fund since 1st July 2012, has also been required to publish in Annual Report for some countries."
        },
        {
          "info": {
            "name": "Get Borrowing Costs Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/borrowing-costs-actual/: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 amount charged by the fund related to borrowing costs during the previous year. The cost is expressed as a percentage of the average net assets of the fund."
        },
        {
          "info": {
            "name": "Get Borrowing Costs Estimated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/borrowing-costs-estimated/: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 amount that may be charged by the fund related to borrowing costs for the year ahead. The cost is expressed as a percentage of the average net assets of the fund."
        },
        {
          "info": {
            "name": "Get Distribution Fee Percentage Of NAV Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/distribution-fee-percentage-of-nav-actual/: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 actual amount charged to the fund for the marketing and distribution services received during the fiscal year."
        },
        {
          "info": {
            "name": "Get Distribution Fee Percentage Of NAV Estimated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/distribution-fee-percentage-of-nav-estimated/: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 amount charged to the fund for the marketing and distribution services received during the fiscal year."
        },
        {
          "info": {
            "name": "Get Entry Cost Acquired Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/entry-cost-acquired-actual/: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 actual entry costs charged that were acquired to the fund (i.e. the fees received were added to the portfolio assets not paid as an inducement to the distributor)."
        },
        {
          "info": {
            "name": "Get Indirect Costs Closed Ended Actual UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/indirect-costs-closed-ended-actual-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": "The fee paid relating to underlying closed-ended funds for a fund investing in other underlying funds, as reported in the European MiFID template (EMT)."
        },
        {
          "info": {
            "name": "Get Indirect Costs Closed Ended Estimated UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/indirect-costs-closed-ended-estimated-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": "The estimated charge relating to underlying closed-ended funds for a fund investing in other underlying funds, as reported in the European MiFID template (EMT)."
        },
        {
          "info": {
            "name": "Get Indirect Costs Open Ended Actual UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/indirect-costs-open-ended-actual-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": "The fee paid relating to underlying open-ended funds for a fund investing in other underlying fund, as reported in the European MiFID template (EMT)."
        },
        {
          "info": {
            "name": "Get Indirect Costs Open Ended Estimated UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/indirect-costs-open-ended-estimated-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": "The estimated charge relating to underlying open-ended funds for a fund investing in other underlying funds, as reported in the European MiFID template (EMT)."
        },
        {
          "info": {
            "name": "Get Management Fee Ex Distribution Fees Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/management-fee-ex-distribution-fees-actual/: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 amount charged to the fund for its management, including investment services but excluding distribution fees, during the prior fiscal year."
        },
        {
          "info": {
            "name": "Get Management Fee Ex Distribution Fees Estimated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/management-fee-ex-distribution-fees-estimated/: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 amount that the fund estimates will be charged for its management, including investment services but excluding distribution fees, during the following fiscal year."
        },
        {
          "info": {
            "name": "Get Maximum Entry Cost Acquired time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/maximum-entry-cost-acquired/: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 maximum sales charge or one-time deduction from an initial investment made into the fund that is paid into the fund's assets expressed as a percentage."
        },
        {
          "info": {
            "name": "Get Maximum Entry Cost Base Currency time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/maximum-entry-cost-base-currency/: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 maximum amount that can be charged to an investor when buying units or shares in the fund."
        },
        {
          "info": {
            "name": "Get Maximum Entry Cost Percentage time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/maximum-entry-cost-percentage/: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 maximum amount that can be charged to an investor when buying units or shares in the fund."
        },
        {
          "info": {
            "name": "Get Maximum Exit Cost Acquired time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/maximum-exit-cost-acquired/: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 maximum exit charge or one-time deduction, on redemptions, paid into the fund's assets expressed as a percentage."
        },
        {
          "info": {
            "name": "Get Maximum Exit Fee Base Currency time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/maximum-exit-fee-base-currency/: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 maximum amount that can be charged to an investor when selling units or shares in the fund."
        },
        {
          "info": {
            "name": "Get Maximum Exit Fee Percentage time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/maximum-exit-fee-percentage/: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 maximum amount that can be charged to an investor when selling units or shares in the fund."
        },
        {
          "info": {
            "name": "Get Model Representative Cost time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/model-representative-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 Model Representative Cost is a comparative figure for the cost of implementing each model portfolio."
        },
        {
          "info": {
            "name": "Get Ongoing Charge Ex Perf Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/ongoing-charge-ex-perf-fee/: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": "TER exlcuding perfprmance fee as at specified FYE date."
        },
        {
          "info": {
            "name": "Get Ongoing Charge Inc Perf Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/ongoing-charge-inc-perf-fee/: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 Ongoing Charge Inc Perf Fee time series."
        },
        {
          "info": {
            "name": "Get Ongoing Cost Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/ongoing-cost-actual/: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 amount actually charged to the fund for re-occurring fees during the last fiscal year. The ongoing charge includes adviser, administration, custodian, legal and any other fees that will typically not vary from year to year."
        },
        {
          "info": {
            "name": "Get Ongoing Cost Estimated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/ongoing-cost-estimated/: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 amount that may be charged by the fund for re-occurring fees during the fiscal year. The ongoing charge will include adviser, administration, custodian, legal and any other fees that will typically not vary from year to year."
        },
        {
          "info": {
            "name": "Get Other Fee time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/other-fee/: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 amount the fund spent on miscellaneous fees during the last fiscal year, as reported in the most recent annual report."
        },
        {
          "info": {
            "name": "Get Other Fee Amount Cn time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/other-fee-amount-cn/: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 Other Fee Amount Cn time series."
        },
        {
          "info": {
            "name": "Get Performance Fee Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/performance-fee-actual/: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 payment awarded to a fund manager if certain performance targets are attained during the prior fiscal year."
        },
        {
          "info": {
            "name": "Get Performance Fee Estimated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/performance-fee-estimated/: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 fee that may be charged if the fund exceeds certain performance targets in a set period of time."
        },
        {
          "info": {
            "name": "Get Prospective Acquired Fund Expense time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/prospective-acquired-fund-expense/: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 comparative measure of the cost of implementing the portfolio. The Prospective Acquired Fund Expense is the asset weighted average of underlying registered investment product fees."
        },
        {
          "info": {
            "name": "Get Prospectus Adjusted Expense Ratio time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/prospectus-adjusted-expense-ratio/: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 Prospectus Adjusted Operating Expense Ratio is the percentage of fund assets paid for operating expenses and management fees."
        },
        {
          "info": {
            "name": "Get Real Assets Costs Actual UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/real-assets-costs-actual-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": "The fee paid for holding, managing, operating, and maintaining real assets such as real estate and infrastructure, as reported in the European MiFID template (EMT)."
        },
        {
          "info": {
            "name": "Get Real Assets Costs Estimated UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/real-assets-costs-estimated-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": "The estimated costs of holding, managing, operating, and maintaining real assets such as real estate and infrastructure, as reported in the European MiFID template (EMT)."
        },
        {
          "info": {
            "name": "Get Total Expense Survey time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/total-expense-survey/: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 measure of total expense happened in the course of fund management, mainly including fund management fee, fund custodian fee, trading fee, interest cost etc."
        },
        {
          "info": {
            "name": "Get Trading Expense time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/trading-expense/: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 expenses incurred during fund transaction. It basically includes stamp duty, trading commission and so on."
        },
        {
          "info": {
            "name": "Get Transaction Costs Actual UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/transaction-costs-actual-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": "The fee paid by the fund due to the acquisition and disposal of investments, as per UK Financial Conduct Authority (FCA) guidelines for the UK version of the Key Information Document (KID)."
        },
        {
          "info": {
            "name": "Get Transaction Costs Estimated UK time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/transaction-costs-estimated-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": "The estimated charge for the fund that may be incurred as result of the acquisition and disposal of investments, as per UK Financial Conduct Authority (FCA) guidelines for the UK version of the Key Information Document (KID)."
        },
        {
          "info": {
            "name": "Get Transaction Fee Actual time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/transaction-fee-actual/: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 fee paid by the fund due to the acquisition and disposal of investments."
        },
        {
          "info": {
            "name": "Get Transaction Fee Estimated time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/transaction-fee-estimated/: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 charge for the fund that may be incurred as result of the acquisition and disposal of investments."
        },
        {
          "info": {
            "name": "Get Turnover Ratio Percentage time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/turnover-ratio-percentage/: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 measure of how frequently an investment buys or sells it's holdings. Expressed as a percentage of how much of the investment's holdings have been traded over a given year as reported in the investment's periodic disclosure document."
        },
        {
          "info": {
            "name": "Get Typical Exit Cost time series.",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://www.us-api.morningstar.com/token/direct-web-services/time-series/v1/fees-expenses/typical-exit-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 exit charge or one-time deduction paid on redemptions if the investment has been held for the recommended holding period."
        }
      ]
    }
  ],
  "bundled": true
}