Lists every control your organization publishes, with the counts.
Lists every control your organization publishes, with the counts.
GET /v1/trust/controls
| Address | https://api.hanzo.ai/v1/trust/controls |
| Method | GET |
| Operation | get_trust_controls |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Lists every control your organization publishes, with the counts.
A control names what it asserts, the mechanism behind it, the repository and file where that mechanism is enforced, how it is verified, and the framework clauses it maps to. Status is automated, partial or absent — and an absent one still names the clause it would satisfy, which is a roadmap, while never moving a coverage number.
Request
GET /v1/trust/controls takes no parameters and no body — the credential is the whole request.
Response
| Status | Body | Meaning |
|---|---|---|
200 | controlList | ok |
200 body — 8 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
absent | body | integer | — | Absent is how many the organization does not have. |
automated | body | integer | — | Automated is how many run with nobody in the loop. |
controls | body | any[] | — | Controls is every control, opaque because the organization owns its shape. |
partial | body | integer | — | Partial is how many run but do not cover their whole claim. |
statement | body | string | — | Statement is the counts as one sentence, safe to quote. |
total | body | integer | — | Total is how many controls this organization publishes. |
unverified | body | integer | — | Unverified is how many rest on somebody having read the source rather than on a test or an audit row. |
version | body | string | — | Version is the embedded inventory's version. |
Failure carries the platform error shape — see Errors.
Examples
hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.
import { Configuration, TrustApi } from 'hanzoai';
const api = new TrustApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getTrustControls();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import TrustApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = TrustApi(client).get_trust_controls()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.TrustAPI.GetTrustControls(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, trust_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = trust_api::get_trust_controls(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.TrustApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new TrustApi(client).getTrustControls();The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →
curl https://api.hanzo.ai/v1/trust/controls \
-H "Authorization: Bearer $HANZO_API_KEY"The door declares no tool for trust — tools/list on https://api.hanzo.ai/v1/mcp names the products it does reach. Use HTTP or an SDK.
How is this guide?