{
  "functions": [
    {
      "name": "GetMostPopularUrls",
      "description": "Lookup the most visited urls on the website",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of urls to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetMostPopularUrls",
      "http_method": "POST"
    },
    {
      "name": "GetKeyMetrics",
      "description": "Retrieve key metrics for the website including sessions, visitors, pageviews, and bounce rate",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        }
      ],
      "endpoint": "/tools/GetKeyMetrics",
      "http_method": "POST"
    },
    {
      "name": "GetTopLocations",
      "description": "Get the top locations of visitors to the website",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of locations to retrieve",
          "required": false
        },
        {
          "name": "SortBy",
          "type": "string",
          "description": "What should the location list be sorted by? \u0027visitors\u0027, \u0027sessions\u0027, \u0027bouncerate\u0027, \u0027conversions\u0027, \u0027conversionrate\u0027.",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopLocations",
      "http_method": "POST"
    },
    {
      "name": "GetTopDevices",
      "description": "Get the top devices used by visitors to analyze device usage patterns",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of devices to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopDevices",
      "http_method": "POST"
    },
    {
      "name": "GetTopAcquisitionChannels",
      "description": "Get the top acquisition channels to analyze traffic sources",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of channels to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopAcquisitionChannels",
      "http_method": "POST"
    },
    {
      "name": "GetTopReferralWebsites",
      "description": "Get the top referral websites that send traffic to the website",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of referral websites to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopReferralWebsites",
      "http_method": "POST"
    },
    {
      "name": "GetTopInternalSearchKeywords",
      "description": "Get the top internal search keywords used on the website",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of search keywords to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopInternalSearchKeywords",
      "http_method": "POST"
    },
    {
      "name": "GetPageSpecificAnalytics",
      "description": "Get detailed analytics for a specific URL or page on the website",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Url",
          "type": "string",
          "description": "URL or partial URL to analyze",
          "required": true
        }
      ],
      "endpoint": "/tools/GetPageSpecificAnalytics",
      "http_method": "POST"
    },
    {
      "name": "GetTopBrowsers",
      "description": "Get the top browsers used by visitors to analyze browser usage patterns",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of browsers to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopBrowsers",
      "http_method": "POST"
    },
    {
      "name": "GetTrafficSources",
      "description": "Get detailed traffic sources analysis including organic search, social media, direct traffic, etc.",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of traffic sources to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTrafficSources",
      "http_method": "POST"
    },
    {
      "name": "GetGoalConversions",
      "description": "Get goal conversion analysis including conversion rates and revenue",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "The number of goal conversions to retrieve",
          "required": false
        }
      ],
      "endpoint": "/tools/GetGoalConversions",
      "http_method": "POST"
    },
    {
      "name": "GetTopPerformingPagesWithExitRate",
      "description": "Show pages with the most sessions and highlight those with high exit rates",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of pages to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopPerformingPagesWithExitRate",
      "http_method": "POST"
    },
    {
      "name": "GetBounceRateOutliers",
      "description": "Find landing pages with bounce rates above a threshold",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "MinBounceRate",
          "type": "decimal",
          "description": "Minimum bounce rate threshold (default: 60%)",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of pages to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetBounceRateOutliers",
      "http_method": "POST"
    },
    {
      "name": "GetEngagingNonConvertingPages",
      "description": "Find pages that are engaging (high time on page) but don\u0027t convert",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "MinTimeOnPage",
          "type": "decimal",
          "description": "Minimum time on page in seconds (default: 120)",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of pages to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetEngagingNonConvertingPages",
      "http_method": "POST"
    },
    {
      "name": "GetDailyTrafficTrend",
      "description": "Get daily sessions data to analyze traffic trends and identify dips",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        }
      ],
      "endpoint": "/tools/GetDailyTrafficTrend",
      "http_method": "POST"
    },
    {
      "name": "GetChannelShareShifts",
      "description": "Compare traffic source share between two time periods to identify changes",
      "parameters": [
        {
          "name": "CurrentPeriodFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default for current period",
          "required": false
        },
        {
          "name": "CurrentPeriodTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span for current period",
          "required": false
        },
        {
          "name": "PreviousPeriodFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default for previous period",
          "required": false
        },
        {
          "name": "PreviousPeriodTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span for previous period",
          "required": false
        }
      ],
      "endpoint": "/tools/GetChannelShareShifts",
      "http_method": "POST"
    },
    {
      "name": "GetTopConvertingPages",
      "description": "Find URLs that generated the most conversions for a specific goal",
      "parameters": [
        {
          "name": "GoalId",
          "type": "string",
          "description": "Specific goal ID to filter by (optional)",
          "required": false
        },
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of pages to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetTopConvertingPages",
      "http_method": "POST"
    },
    {
      "name": "GetGeoDeviceBreakdown",
      "description": "Analyze how users from different countries and device types behave",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of combinations to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetGeoDeviceBreakdown",
      "http_method": "POST"
    },
    {
      "name": "GetNewVsReturningVisitors",
      "description": "Compare conversion rates between new and returning visitors",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        }
      ],
      "endpoint": "/tools/GetNewVsReturningVisitors",
      "http_method": "POST"
    },
    {
      "name": "GetPagesWithoutTitles",
      "description": "Find URLs with high traffic but missing or empty page titles",
      "parameters": [
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "MinSessions",
          "type": "int",
          "description": "Minimum session count to consider (default: 200)",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of pages to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetPagesWithoutTitles",
      "http_method": "POST"
    },
    {
      "name": "GetOrganicVsPaidSplit",
      "description": "Compare organic vs paid traffic performance for specific URL patterns",
      "parameters": [
        {
          "name": "UrlFilter",
          "type": "string",
          "description": "URL pattern to filter by (default: \u0027/product/\u0027)",
          "required": false
        },
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        }
      ],
      "endpoint": "/tools/GetOrganicVsPaidSplit",
      "http_method": "POST"
    },
    {
      "name": "ListGoals",
      "description": "List all goals configured for the website including their configuration details",
      "parameters": [],
      "endpoint": "/tools/ListGoals",
      "http_method": "POST"
    },
    {
      "name": "GetGoalData",
      "description": "Get detailed data and analytics for a specific goal including conversion metrics and top converting pages",
      "parameters": [
        {
          "name": "GoalId",
          "type": "string",
          "description": "The ID of the goal to analyze",
          "required": true
        },
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        }
      ],
      "endpoint": "/tools/GetGoalData",
      "http_method": "POST"
    },
    {
      "name": "GetNextEventPrediction",
      "description": "Predict what pages users are likely to visit next from a given page",
      "parameters": [
        {
          "name": "Url",
          "type": "string",
          "description": "URL or partial URL to analyze",
          "required": true
        },
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of predictions to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetNextEventPrediction",
      "http_method": "POST"
    },
    {
      "name": "GetPreviousEventPrediction",
      "description": "Predict what pages users likely came from before visiting a given page",
      "parameters": [
        {
          "name": "Url",
          "type": "string",
          "description": "URL or partial URL to analyze",
          "required": true
        },
        {
          "name": "DateFrom",
          "type": "string",
          "description": "Start date in ISO format (YYYY-MM-DD) or relative date span: last_7_days, last_30_days, last_90_days, this_month, last_month, this_year, last_year, yesterday, today or leave it null for default",
          "required": false
        },
        {
          "name": "DateTo",
          "type": "string",
          "description": "End date in ISO format (YYYY-MM-DD), only used if DateFrom is not a relative date span",
          "required": false
        },
        {
          "name": "Limit",
          "type": "int",
          "description": "Maximum number of predictions to return",
          "required": false
        }
      ],
      "endpoint": "/tools/GetPreviousEventPrediction",
      "http_method": "POST"
    }
  ]
}