Trust

Your trust centre: the controls you publish, the coverage they compute to, the documents a reviewer asks for, and who you send data to.

Also for this capability: API · CLI · MCP · SDKs

Your trust centre: the controls you publish, the coverage they compute to, the documents a reviewer asks for, and who you send data to.

Base URLhttps://api.hanzo.ai
Operations17
AuthAuthorization: Bearer $HANZO_API_KEY

Specification

Specification pending — no HIP in hanzoai/hips declares capability: trust yet. What this capability serves is below, from the API document; what it is — the store it owns, how it meters, what it publishes — is written as a HIP under HIP-0139.

Four surfaces

SurfaceReaches this capability asCoverage
RESTtrust at its own prefix17 operations
CLIhanzo trust …17 of 17
SDKTrustApi in every published client17 methods
MCPtool trust on https://api.hanzo.ai/v1/mcp17 operations, 6 under the document's own id — ask describe for the rest

Quickstart

export HANZO_API_KEY=sk-...   # console.hanzo.ai → API keys

Then the first call — a read that needs nothing but the key. GET /v1/trust, operation get_trust:

hanzo trust list
import { Configuration, TrustApi } from 'hanzoai';

const api = new TrustApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getTrust();
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()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.TrustAPI.GetTrust(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::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(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.TrustApi;

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

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

MCP reaches trust through the trust tool, which names its 17 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_trusts"
         }
       }
     }'

Answers 200 with object — ok.

Endpoints

EndpointWhat it does
PUT /v1/trust/{kind}/{id}Writes one record into a section of YOUR organization's trust centre — profile, control, document, subprocessor, policy, faq, update or risk.
DELETE /v1/trust/{kind}/{id}Removes one record from a section of your organization's trust centre.
GET /v1/trust/controls/{id}Reads one control by id.
GET /v1/trust/controlsLists every control your organization publishes, with the counts.
GET /v1/trust/coverage/{framework}Reads one framework clause by clause: every clause the standard publishes, what covers it, and which controls stand behind it — so a coverage number can be checked line by line rather than taken on trust.
GET /v1/trust/coverageReads coverage: per framework, how many clauses have an automated control behind them, how many are partial, and how many have none — each carrying the unit it is counted in, because "12 of 20" is not a fact until you know what the 20 are.
GET /v1/trust/documentsLists your organization's documents.
GET /v1/trust/evidenceReads the audit rows that stand behind one control, over a window.
GET /v1/trust/faqLists your knowledge base — the questions a reviewer asks, answered once.
GET /v1/trust/frameworksLists the frameworks coverage is computed against, and how many clauses each publishes.
GET /v1/trust/policiesLists your organization's published policies.
GET /v1/trust/profileReads your organization's trust-centre profile — the name, tagline and summary a visitor sees, whether the centre is published, and where to send somebody who wants a gated document.
GET /v1/trust/published/{org}Reads a published trust centre — the whole thing in one answer: the organization's profile, its control inventory, coverage computed against each framework's whole published clause list, its documents, subprocessors, policies, knowledge base, updates and risk profile.
GET /v1/trust/riskReads your risk profile — the label and value pairs describing what your organization handles and how.
GET /v1/trust/subprocessorsLists the third parties your organization sends data to, each naming what it is for.
GET /v1/trust/updatesLists your trust-centre updates, newest as you ordered them.
GET /v1/trustReads YOUR organization's whole trust centre, including the addresses of your own gated documents.

All Hanzo APIs · Interactive reference

Was this page useful?