OpenapiGuide
Returns the journey the caller's org is actually running, and whether it comes…
Returns the journey the caller's org is actually running, and whether it comes from the org's OWN override (custom) or from the platform default — the…
GET /v1/guide/curriculum
| Address | https://api.hanzo.ai/v1/guide/curriculum |
| Method | GET |
| Operation | get_guide_curriculum |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Returns the journey the caller's org is actually running, and whether it comes from the org's OWN override (custom) or from the platform default — the brand blueprint, else the embedded fixture.
Request
GET /v1/guide/curriculum takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
200 | curriculumView | ok |
200 body — 17 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
curriculum | body | Curriculum | — | |
curriculum.steps | body | JourneyStep[] | — | Steps are the enabled steps in authoring order. |
curriculum.steps[].args | body | object | — | Args are the tool's default arguments, merged under whatever the caller passes at run time, so a step ships with the arguments that make it work. |
curriculum.steps[].args.* | body | object | — | |
curriculum.steps[].deps | body | string[] | — | Dependencies are step ids that must be done/skipped before this step is available. |
curriculum.steps[].detail | body | string | — | Detail is the juncture — what the Guide explains, or asks for, at this step. |
curriculum.steps[].draft | body | string | — | Draft, when set, is the prompt the embedded AI answers first; its output is folded into one of Args before the tool runs, so the model writes the content and… |
curriculum.steps[].draftInto | body | string | — | DraftInto names the argument the drafted text lands in. |
curriculum.steps[].enabled | body | boolean | — | Enabled is the admin on/off lever. A NIL pointer reads as ENABLED (absence == on): a legacy/org curriculum that omits the field keeps every step, and only an… |
curriculum.steps[].id | body | string | — | ID is the stable slug the whole plane addresses this step by — the value in deps, in next, in the progress rows, and in the URL of every step route. |
curriculum.steps[].section | body | string | — | Section is the id of the phase this step groups under. |
curriculum.steps[].signal | body | string | — | Signal, when set, names a machine detector (detect.go). |
curriculum.steps[].title | body | string | — | Title is the one-line quest as a person reads it in the checklist. |
curriculum.steps[].tool | body | string | — | Tool, when set, names the MCP tool the Business AI runs for "do it for me". |
curriculum.title | body | string | — | Title is the playbook's name as it heads the checklist. |
curriculum.version | body | string | — | Version identifies the authored playbook this journey was projected from, so two orgs on different playbooks can be told apart. |
custom | body | boolean | — | Custom is true when the org's OWN curriculum override is active; false when the journey comes from the brand blueprint or the embedded fixture. |
Failure carries the platform error shape — see Errors.
Examples
hanzo guide curriculum getimport { Configuration, GuideApi } from 'hanzoai';
const api = new GuideApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getGuideCurriculum();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_curriculum()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.GuideAPI.GetGuideCurriculum(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_curriculum(&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).getGuideCurriculum();curl https://api.hanzo.ai/v1/guide/curriculum \
-H "Authorization: Bearer $HANZO_API_KEY"Tool guide, op get_guide_curriculum — 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_curriculum",
"input": {}
}
}
}'How is this guide?