List capabilities

Answers the org's capabilities by name, each with its state, its latest and installed versions, and what the installed one did live.

GET /v1/capabilities

Addresshttps://api.hanzo.ai/v1/capabilities
MethodGET
OperationcapabilitiesList
AuthAuthorization: Bearer $HANZO_API_KEY

Answers the org's capabilities by name, each with its state, its latest and installed versions, and what the installed one did live.

Request

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

Response

StatusBodyMeaning
200train.capabilitiesOutok
defaultproblem-detailsrefused

200 body — 36 fields.

FieldInTypeAlwaysDescription
databodytrain.Capability[]—
data[].bybodystring—
data[].correctionsbodystring[]—Corrections are the corrections it is taught from.
data[].createdbodyinteger (int64)—
data[].installedbodyinteger (int64)—Installed is the version in the org's published set, 0 when none.
data[].livebodytrain.Live—
data[].live.damagebodyinteger (int64)—
data[].live.damage_ratebodynumber (double)—
data[].live.firesbodyinteger (int64)—Fires counts decisions it answered otherwise than the base would have.
data[].live.last_firedbodyinteger (int64)—LastFired is when it last fired, unix seconds; 0 never.
data[].live.neutralbodyinteger (int64)—
data[].live.repair_ratebodynumber (double)—
data[].live.repairsbodyinteger (int64)—Repairs are fires that changed the label and no correction contradicts; Damage, fires whose label a correction put back to the base's; Neutral, fires that kept the base's label.
data[].live.versionbodyinteger (int64)—
data[].namebodystring—Name is its name, one per org; it is the name its versions install under.
data[].questionbodytrain.Question—
data[].question.keybodystring—
data[].question.labelsbodystring[]—
data[].question.typebodystring—
data[].statebodystring—State is where it is in its life: draft, trained, evaluated, publishable, installed, active, disabled or needs_validation.
data[].updatedbodyinteger (int64)—
data[].versionbodyinteger (int64)—Version is its latest version, 0 in draft.
data[].versionsbodytrain.Version[]—Versions are its versions, newest first (one capability read).
data[].versions[].atbodyinteger (int64)—
data[].versions[].base_sha256bodystring—BaseSHA256 is Kai's weights it was taught over.
data[].versions[].bybodystring—
data[].versions[].bytesbodyinteger (int64)—Bytes is its artifact's size.
data[].versions[].correctionsbodystring[]—Corrections are the corrections it was taught from.
data[].versions[].evaluationbodyany—Evaluation is its evaluation record, in the shared /evals words.
data[].versions[].formbodystring—Form is calibration, head or pair; Rank its place, 1 the smallest.
data[].versions[].passedbodyboolean—Passed says its evaluation passed the gate: it is publishable.
data[].versions[].questionsbodystring[]—Questions are the question keys it answers.
data[].versions[].rankbodyinteger (int64)—
data[].versions[].representationbodystring—Representation is what it reads of Kai (the weights, tokenizer, layout and pooling, hashed): the only Kai it serves on, whatever the release.
data[].versions[].sha256bodystring—SHA256 is its artifact's: the tar the decision service installs.
data[].versions[].versionbodyinteger (int64)—

Failure carries the platform error shape — see Errors.

Examples

hanzo capabilities list
import { Configuration, TrainApi } from 'hanzoai';

const api = new TrainApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.capabilitiesList();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import TrainApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = TrainApi(client).capabilities_list()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.TrainAPI.CapabilitiesList(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, train_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = train_api::capabilities_list(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.TrainApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new TrainApi(client).capabilitiesList();
curl https://api.hanzo.ai/v1/capabilities \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool train, op capabilitiesList — 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": "train",
         "arguments": {
           "op": "capabilitiesList",
           "input": {}
         }
       }
     }'

Train API · All Hanzo APIs · Interactive reference

Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.