List bases
Lists every Base the caller can reach, one per org their token carries.
GET /v1/base/bases
| Address | https://api.hanzo.ai/v1/base/bases |
| Method | GET |
| Operation | get_base_bases |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Lists every Base the caller can reach, one per org their token carries.
The orgs come from IAM's signed membership set, so the list is exactly the orgs the caller is a member of and cannot be widened by asking. It is the account-wide view: a Base is per org, so this is one entry per org and there is nothing to page.
A caller with no membership set — a machine credential, an API key — reaches no Base and receives an empty list rather than a refusal, because holding no membership is an answer and not a failure.
Request
GET /v1/base/bases takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
200 | baseView[] | ok |
200 body — 3 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
[].bytes | body | integer | — | Bytes is the store's size on disk, present only once it exists. |
[].exists | body | boolean | — | Exists reports whether this Base's store has been provisioned. |
[].org | body | string | — | Org is the org this Base belongs to. |
Failure carries the platform error shape — see Errors.
Examples
hanzo base bases listimport { Configuration, BaseApi } from 'hanzoai';
const api = new BaseApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getBaseBases();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import BaseApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = BaseApi(client).get_base_bases()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.BaseAPI.GetBaseBases(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, base_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = base_api::get_base_bases(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.BaseApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new BaseApi(client).getBaseBases();curl https://api.hanzo.ai/v1/base/bases \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches base through the base tool, which names its 1 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_base_health"
}
}
}'How is this guide?