List analytics

Returns the caller org's funnel from the analytics lens plus the GTM recommendations derived from it.

GET /v1/guide/analytics

Addresshttps://api.hanzo.ai/v1/guide/analytics
MethodGET
Operationget_guide_analytics
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the caller org's funnel from the analytics lens plus the GTM recommendations derived from it. It is the Business AI's data-grounded read — what the funnel is doing, and the next-best action to move its weakest stage. An unreachable or silent warehouse answers available=false, never a fabricated number.

Request

GET /v1/guide/analytics takes no parameters and no body — the credential is the whole request.

Response

StatusBodyMeaning
200guide.analyticsViewok
defaultproblem-detailsrefused

200 body — 9 fields.

FieldInTypeAlwaysDescription
funnelbodyguide.Funnel—
funnel.availablebodyboolean—Available separates "this org has no traffic" from "we could not ask".
funnel.ordersbodyinteger (int64)—Orders counts completed orders in the window — purchases, not carts started.
funnel.pageviewsbodyinteger (int64)—Pageviews counts page events in the window, one per view rather than per person, so a single visitor reading ten pages counts ten.
funnel.revenuebodynumber (double)—Revenue is the sum of the amounts those orders reported, in whatever currency the beacon stamped on them (major units, e.g. 49.5 for $49.50) — NOT cents, and not converted to a single currency.
funnel.signupsbodyinteger (int64)—Signups counts completed signups in the window, the step where an anonymous visitor becomes somebody with an account.
funnel.visitorsbodyinteger (int64)—Visitors is the number of DISTINCT people seen in the window, counted by the beacon's distinct id — so it is unique visitors, not sessions and not views.
funnel.windowDaysbodyinteger (int64)—WindowDays is the length of the trailing window every count covers, so a reader knows whether 40 signups is a month or a day.
recommendationsbodystring[]—Recommendations are the next-best GTM actions derived from that funnel.

Failure carries the platform error shape — see Errors.

Examples

hanzo guide analytics
import { Configuration, GuideApi } from 'hanzoai';

const api = new GuideApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getGuideAnalytics();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import GuideApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = GuideApi(client).get_guide_analytics()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.GuideAPI.GetGuideAnalytics(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, guide_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = guide_api::get_guide_analytics(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.GuideApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new GuideApi(client).getGuideAnalytics();
curl https://api.hanzo.ai/v1/guide/analytics \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches guide through the guide tool, which names its 13 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_guides"
         }
       }
     }'

Guide API · All Hanzo APIs · Interactive reference

Was this page useful?