List suggest

Returns the caller org's next-best quests: the available, non-terminal steps of its journey ranked by how much downstream work each unblocks, each with the grounded reason it is a good next move and whether the Business AI can run it, plus the org's funnel and the GTM recommendations derived from it.

GET /v1/guide/suggest

Addresshttps://api.hanzo.ai/v1/guide/suggest
MethodGET
Operationget_guide_suggest
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the caller org's next-best quests: the available, non-terminal steps of its journey ranked by how much downstream work each unblocks, each with the grounded reason it is a good next move and whether the Business AI can run it, plus the org's funnel and the GTM recommendations derived from it. A best-effort AI narrative over exactly those quests and numbers is included when an AI plane is wired. READ-ONLY: it advises and never runs a step — the only executing path is POST /v1/guide/steps/{id}/do.

Request

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

Response

StatusBodyMeaning
200guide.suggestResponseok
defaultproblem-detailsrefused

200 body — 18 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.
narrativebodystring—Narrative is the AI's grounded prose over those quests and numbers.
nextbodystring—Next is the id of the single next step the static journey names — the linear answer the ranked Suggestions refine.
recommendationsbodystring[]—Recommendations are the next-best GTM actions derived from that funnel.
suggestionsbodyguide.suggestion[]—Suggestions are the available, non-terminal quests ranked best-first by how much downstream work each unblocks.
suggestions[].automatablebodyboolean—Automatable is true when the step names a tool, so the Business AI can do it rather than only describe it.
suggestions[].detailbodystring—Detail is the step's own prose — what it asks for.
suggestions[].rationalebodystring—Rationale is why this step is being suggested NOW, written for the person reading it.
suggestions[].stepIdbodystring—StepID is the checklist step being recommended — the id every step route takes, so a caller can act on the suggestion directly.
suggestions[].titlebodystring—Title is the step's own one-line quest.
suggestions[].unlocksbodyinteger (int64)—Unlocks is how many downstream steps completing this one immediately makes available (its leverage) — the primary ranking key.

Failure carries the platform error shape — see Errors.

Examples

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

const api = new GuideApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getGuideSuggest();
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_suggest()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.GuideAPI.GetGuideSuggest(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_suggest(&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).getGuideSuggest();
curl https://api.hanzo.ai/v1/guide/suggest \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool guide, op get_guide_suggest — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

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

Guide API · All Hanzo APIs · Interactive reference

Was this page useful?