List health
Answers ok whenever the commerce subsystem is mounted.
GET /v1/commerce/health
| Address | https://api.hanzo.ai/v1/commerce/health |
| Method | GET |
| Operation | get_commerce_health |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Answers ok whenever the commerce subsystem is mounted. It is registered before the module embed boots, so it keeps answering even when the embed failed and every business route serves the fail-closed 503 — which is the point: it reports that the process is reachable, never that the money plane is healthy. Unauthenticated: a probe that needs a credential is a probe that reports the credential.
A named handler, not a closure, so zipdoc can lift this prose into the registry.
Request
GET /v1/commerce/health takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
200 | liveness | ok |
200 body — 2 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
service | body | string | — | Service names the answering subsystem; it is always commerce. |
status | body | string | — | Status is always ok: mounted is the only state that can answer. |
Failure carries the platform error shape — see Errors.
Examples
hanzo commerce healthimport { Configuration, CommerceApi } from 'hanzoai';
const api = new CommerceApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getCommerceHealth();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import CommerceApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = CommerceApi(client).get_commerce_health()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.CommerceAPI.GetCommerceHealth(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, commerce_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = commerce_api::get_commerce_health(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.CommerceApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new CommerceApi(client).getCommerceHealth();curl https://api.hanzo.ai/v1/commerce/health \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches commerce through the commerce tool, which names its 215 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___commerce_deposits"
}
}
}'How is this guide?