List trust

Reads YOUR organization's whole trust centre, including the addresses of your own gated documents.

GET /v1/trust

Addresshttps://api.hanzo.ai/v1/trust
MethodGET
Operationget_trust
AuthAuthorization: Bearer $HANZO_API_KEY

Reads YOUR organization's whole trust centre, including the addresses of your own gated documents. Same shape as the published endpoint; the difference is that this one is resolved from your validated bearer and shows you your own artifacts.

Request

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

Response

StatusBodyMeaning
200trust.centreok
defaultproblem-detailsrefused

200 body — 49 fields.

FieldInTypeAlwaysDescription
controlsbodyany[]—Controls is the control inventory, each entry naming what it asserts, the mechanism, where it is enforced, how it is verified and the clauses it maps to.
coveragebodytrust.coverRow[]—Coverage is the per-framework counts, computed from Controls against each framework's whole published clause list.
coverage[].automatedbodyinteger (int64)—Automated is how many clauses have an automated control behind them that something can fail on behalf of.
coverage[].editionbodystring—Edition is which edition the clause list is taken from.
coverage[].frameworkbodystring—Framework is the framework id — "soc2", "iso27001", "nist80053".
coverage[].namebodystring—Name is the published standard's name.
coverage[].nonebodyinteger (int64)—None is how many have nothing behind them.
coverage[].notebodystring—Note is what the clause list itself is scoped to, when the framework's catalog says something a count alone would misrepresent.
coverage[].partialbodyinteger (int64)—Partial is how many are answered in part.
coverage[].publisherbodystring—Publisher is who publishes it — AICPA, ISO/IEC, NIST.
coverage[].statementbodystring—Statement is the counts as one sentence, carrying the unit.
coverage[].totalbodyinteger (int64)—Total is the framework's WHOLE published clause list — the denominator.
coverage[].unitbodystring—Unit is what ONE clause is — "criterion", "control", "family".
coverage[].unitsbodystring—Units is the plural of Unit, for rendering a sentence.
documentsbodytrust.docRow[]—Documents are the artifacts, each saying whether this reader may read it.
documents[].attestedbodyboolean—Attested reports whether somebody OUTSIDE this organization put their name to it.
documents[].hrefbodystring—Href is where to read it, present only when this reader may.
documents[].idbodystring—ID is the document's id within this organization's centre.
documents[].kindbodystring—Kind is the artifact type — soc2, iso, pentest, letter, caiq, sig, vsa, questionnaire, policy or other.
documents[].labelbodystring—Label is the artifact type in words, for rendering.
documents[].notebodystring—Note is anything the organization says about this artifact.
documents[].releasedbodyboolean—Released reports whether THIS reader may read it.
documents[].tierbodystring—Tier is "public" or "gated".
documents[].titlebodystring—Title is what the document is called.
documents[].updatedbodyinteger (int64)—Updated is when the record last changed, unix milliseconds.
faqbodyany[]—Faq is the knowledge base — the questions a reviewer asks, answered.
frameworksbodytrust.frameworkRow[]—Frameworks are the clause universes the coverage is computed against.
frameworks[].editionbodystring—Edition is which edition this clause list is taken from.
frameworks[].frameworkbodystring—Framework is the framework id.
frameworks[].namebodystring—Name is the published standard's name.
frameworks[].publisherbodystring—Publisher is who publishes it.
frameworks[].totalbodyinteger (int64)—Total is how many clauses the standard publishes.
frameworks[].unitbodystring—Unit is what one clause is; Units is its plural.
frameworks[].unitsbodystring—Units is Unit's plural, carried so a caller renders "12 controls" without having to pluralise a word it does not know.
generatedbodyinteger (int64)—Generated is when this answer was computed, unix milliseconds.
inventorybodytrust.trustTally—
inventory.absentbodyinteger (int64)—Absent is how many the organization does not have.
inventory.automatedbodyinteger (int64)—Automated is how many run with nobody in the loop.
inventory.partialbodyinteger (int64)—Partial is how many run but do not cover their whole claim.
inventory.statementbodystring—Statement is the counts as one sentence, safe to quote.
inventory.totalbodyinteger (int64)—Total is how many controls this organization publishes.
inventory.unverifiedbodyinteger (int64)—Unverified is how many rest on somebody having READ the source rather than on a test or an audit row.
orgbodystring—Org is whose centre this is.
policiesbodyany[]—Policies are the published policies.
profilebodyany—Profile is the organization's own description of itself.
riskbodyany—Risk is the risk profile — label and value pairs describing what this organization handles and how.
subprocessorsbodyany[]—Subprocessors are the third parties this organization sends data to.
updatesbodyany[]—Updates is the changelog, newest as the organization ordered it.
versionbodystring—Version is the embedded inventory's version.

Failure carries the platform error shape — see Errors.

Examples

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"
         }
       }
     }'

Trust API · All Hanzo APIs · Interactive reference

Was this page useful?