List analytics
Analytics returns the caller org's funnel from the analytics lens plus the GTM recommendations derived from it.
GET /v1/guide/analytics
| Address | https://api.hanzo.ai/v1/guide/analytics |
| Method | GET |
| Operation | get_guide_analytics |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Analytics 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
| Status | Body | Meaning |
|---|---|---|
200 | analyticsView | ok |
200 body — 9 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
funnel | body | Funnel | — | |
funnel.available | body | boolean | — | Available separates "this org has no traffic" from "we could not ask". |
funnel.orders | body | integer | — | Orders counts completed orders in the window — purchases, not carts started. |
funnel.pageviews | body | integer | — | Pageviews counts page events in the window, one per view rather than per person, so a single visitor reading ten pages counts ten. |
funnel.revenue | body | number | — | Revenue is the sum of the amounts those orders reported, in whatever currency the beacon stamped on them (major units, e.g. |
funnel.signups | body | integer | — | Signups counts completed signups in the window, the step where an anonymous visitor becomes somebody with an account. |
funnel.visitors | body | integer | — | 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.windowDays | body | integer | — | WindowDays is the length of the trailing window every count covers, so a reader knows whether 40 signups is a month or a day. |
recommendations | body | string[] | — | Recommendations are the next-best GTM actions derived from that funnel. |
Failure carries the platform error shape — see Errors.
Examples
hanzo guide analyticsimport { 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 := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.GuideAPI.GetGuideAnalytics(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::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.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + 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 19 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": "get_guide"
}
}
}'How is this guide?