Create artifacts

Puts an item on the caller org's trust centre and answers with it.

POST /v1/dataroom/trust/artifacts

Addresshttps://api.hanzo.ai/v1/dataroom/trust/artifacts
MethodPOST
Operationpost_dataroom_trust_artifacts
AuthAuthorization: Bearer $HANZO_API_KEY

Puts an item on the caller org's trust centre and answers with it.

The item is GATED unless it says otherwise, so a kind nobody has thought of yet arrives private and someone has to release it deliberately — that default is what keeps an auditor's report from becoming readable because a field went unset. An item whose attester is "auditor" cannot be public at all: the database refuses the pair, so no path through this API can publish one.

A file is optional and is uploaded FIRST, through POST /v1/dataroom/documents, then named here — the data room is the one place bytes enter, so a trust centre document is an ordinary data-room document and inherits its storage, its grants and its page-by-page access record. A gated item that has a file is added to the org's release room, which is what lets a party be granted the whole gated tier in one link.

Only an admin of the org may call it.

Request

8 fields, body application/json (required).

FieldInTypeRequiredDescription
attesterbodystring—Attester is who vouched for it: "self" for anything the org states itself, or "auditor" for anything an independent auditor put their name to.
bodybodystring—Body is the item's content for the kinds that are text rather than a file: an article, a subprocessor entry, a dated note.
documentbodystring—Document is a data-room document holding the item's bytes, uploaded first through POST /v1/dataroom/documents.
frameworkbodystring—Framework is the standard it speaks to.
kindbodystring—Kind is what the item is: report, letter, policy, questionnaire, subprocessor, article or update.
namebodystring—Name is the item's title.
summarybodystring—Summary is a line about it.
tierbodystring—Tier is who may read it: "public" or "gated".

Response

StatusBodyMeaning
200dataroom.trustItemViewok
defaultproblem-detailsrefused

200 body — 12 fields.

FieldInTypeAlwaysDescription
attesterbodystring—Attester is who vouched for it: self or auditor.
bodybodystring—Body is the item's content for the kinds that are text rather than a file.
createdAtbodyinteger (int64)—CreatedAt is when it was published, in unix milliseconds.
documentbodystring—Document is the data-room document holding its bytes, empty when it has none.
frameworkbodystring—Framework is the standard it speaks to, when it speaks to one.
idbodystring—ID addresses the item.
kindbodystring—Kind is one of report, letter, policy, questionnaire, subprocessor, article or update — the closed set the public centre knows how to draw.
namebodystring—Name is the label the centre lists it under.
retiredbodyboolean—Retired is whether it has been withdrawn.
summarybodystring—Summary is a line about it.
tierbodystring—Tier is public or gated.
updatedAtbodyinteger (int64)—UpdatedAt is when it last changed, in unix milliseconds.

Failure carries the platform error shape — see Errors.

Examples

hanzo dataroom trust artifacts create
import { Configuration, DataroomApi } from 'hanzoai';

const api = new DataroomApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postDataroomTrustArtifacts({ attester: "<attester>", body: "<body>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import DataroomApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = DataroomApi(client).post_dataroom_trust_artifacts(attester="<attester>", body="<body>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

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

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

let result = dataroom_api::post_dataroom_trust_artifacts(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.DataroomApi;

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

var result = new DataroomApi(client).postDataroomTrustArtifacts();
curl -X POST https://api.hanzo.ai/v1/dataroom/trust/artifacts \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "attester": "<attester>",
       "body": "<body>"
     }'

MCP reaches dataroom through the dataroom tool, which names its 19 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": "get_dataroom_analytic_dataroom"
         }
       }
     }'

Dataroom API · All Hanzo APIs · Interactive reference

Was this page useful?