OpenapiLicensing
Reads one release's metadata: its product, version, platform and the cosign…
Reads one release's metadata: its product, version, platform and the cosign material a client verifies the binary against. An unknown id is 404.
GET /v1/licensing/releases/{release}
| Address | https://api.hanzo.ai/v1/licensing/releases/{release} |
| Method | GET |
| Operation | get_licensing_releases_by_release |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Reads one release's metadata: its product, version, platform and the cosign material a client verifies the binary against.
An unknown id is 404. Like the list, this is metadata only — the bytes are behind the license-gated download.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
release | path | string | yes |
Response
| Status | Body | Meaning |
|---|---|---|
200 | licensing.Release | ok |
200 body — 12 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
app_id | body | string | — | AppID scopes the release to an app build ("hanzo" | "lux" | "zoo"). |
artifact_ref | body | string | — | ArtifactRef is where the binary lives (object-store key / OCI ref / path). |
cosign_cert | body | string | — | CosignCert is the cosign/Fulcio cert (keyless) or public key ref used to verify CosignSignature. |
cosign_signature | body | string | — | CosignSignature is the base64 cosign signature over the artifact digest. |
created_at | body | integer | — | |
id | body | string | — | ID is the release identifier, e.g. "engine-rocm-0.4.2-linux-amd64". |
min_features | body | string[] | — | MinFeatures, when set, are features the license must include to download. |
platform | body | string | — | Platform is "<os>/<arch>", e.g. |
product | body | string | — | Product is the licensed product this artifact belongs to (commerce SKU): "engine" for every one of those builds. |
sha256 | body | string | — | SHA256 is the hex digest of the artifact (integrity + cosign subject). |
version | body | string | — | Version is the semantic version of the binary. |
yanked | body | boolean | — | Yanked marks a pulled release (download refused; tokens may be revoked release-scoped too). |
Failure carries the platform error shape — see Errors.
Examples
hanzo licensing releases get <release>import { Configuration, LicensingApi } from 'hanzoai';
const api = new LicensingApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getLicensingReleasesByRelease({ release: 'release' });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import LicensingApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = LicensingApi(client).get_licensing_releases_by_release(release='release')cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.LicensingAPI.GetLicensingReleasesByRelease(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, licensing_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = licensing_api::get_licensing_releases_by_release(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.LicensingApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new LicensingApi(client).getLicensingReleasesByRelease();curl https://api.hanzo.ai/v1/licensing/releases/<release> \
-H "Authorization: Bearer $HANZO_API_KEY"The door reaches licensing through the licensing tool, which names its 11 operations with its own verbs — this one among them, under a name only the door 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_licensing_download"
}
}
}'How is this guide?