Get structured NHI persona detail
curl --request GET \
--url https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail \
--header 'X-API-Key: <api-key>'import requests
url = "https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"nuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generated_at": "2023-11-07T05:31:56Z",
"contract_version": 123,
"overview": {
"summary": "<string>",
"narrative": "<string>",
"key_points": [
"<string>"
]
},
"identity": {
"display_name": "<string>",
"nhi_class": "<string>",
"nhi_class_label": "<string>",
"archetype": "<string>",
"archetype_label": "<string>",
"provider": {
"key": "<string>",
"label": "<string>"
},
"principal_id": "<string>",
"app_id": "<string>",
"owning_tenant_id": "<string>",
"ms_first_party": true,
"first_seen": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"archetype_explanation": "<string>",
"creator_upn": "<string>"
},
"role": {
"observed_role": "<string>",
"summary": "<string>",
"purpose": "<string>",
"match": "typical",
"evidence": "observed",
"confidence": 123
},
"purpose": {},
"stewardship": {
"steward_upn": "<string>",
"creator_upn": "<string>",
"custody_kind": "human"
},
"stewards": [
{}
],
"custody": {},
"access": {
"summary": "<string>",
"permission_count": 123,
"privileged_count": 123,
"systems": [
"<string>"
],
"over_permission": true,
"applications": [
"<string>"
],
"data_stores": [
"<string>"
],
"directory_roles": "<unknown>",
"legitimacy": {},
"entitlements": [
{}
],
"reactivated_scopes": [
"<unknown>"
],
"permissions": [
{}
]
},
"iam": {},
"interactions": {},
"data_movement": {},
"identity_metadata": {},
"cluster": {
"cluster_id": "<string>",
"name": "<string>",
"tier": "<string>",
"archetype": "<string>",
"rank": {}
},
"risk": {},
"risk_lens": {
"blast_radius": "<string>",
"reaches_control_plane": true
},
"coverage": {},
"asset_tier": {},
"resource_edges": [
{}
],
"actor_edges": [
{}
],
"operations": {},
"call_samples": [
{}
],
"call_rhythm": {},
"credential_posture": {},
"drift": {}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"resource": "<string>",
"message": "<string>",
"details": "<string>",
"days_until_ready": 123,
"external_api_enabled_at_utc": "2023-11-07T05:31:56Z",
"now_utc": "2023-11-07T05:31:56Z"
}NHI
Get structured NHI persona detail
Full NHI persona-page payload: story, role, reconstructed purpose,
entitlements, IAM, interactions, data movement, risk, coverage,
stewards, custody, resource/actor edges, call samples, call rhythm,
cluster rank, asset tier, and drift. delta and unpublished pending
Persona L fields are omitted.
GET
/
nhi
/
personas
/
{nuid}
/
detail
Get structured NHI persona detail
curl --request GET \
--url https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail \
--header 'X-API-Key: <api-key>'import requests
url = "https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://eris.platform.total.truu.ai/api/v1/external/nhi/personas/{nuid}/detail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"nuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generated_at": "2023-11-07T05:31:56Z",
"contract_version": 123,
"overview": {
"summary": "<string>",
"narrative": "<string>",
"key_points": [
"<string>"
]
},
"identity": {
"display_name": "<string>",
"nhi_class": "<string>",
"nhi_class_label": "<string>",
"archetype": "<string>",
"archetype_label": "<string>",
"provider": {
"key": "<string>",
"label": "<string>"
},
"principal_id": "<string>",
"app_id": "<string>",
"owning_tenant_id": "<string>",
"ms_first_party": true,
"first_seen": "2023-11-07T05:31:56Z",
"last_seen": "2023-11-07T05:31:56Z",
"archetype_explanation": "<string>",
"creator_upn": "<string>"
},
"role": {
"observed_role": "<string>",
"summary": "<string>",
"purpose": "<string>",
"match": "typical",
"evidence": "observed",
"confidence": 123
},
"purpose": {},
"stewardship": {
"steward_upn": "<string>",
"creator_upn": "<string>",
"custody_kind": "human"
},
"stewards": [
{}
],
"custody": {},
"access": {
"summary": "<string>",
"permission_count": 123,
"privileged_count": 123,
"systems": [
"<string>"
],
"over_permission": true,
"applications": [
"<string>"
],
"data_stores": [
"<string>"
],
"directory_roles": "<unknown>",
"legitimacy": {},
"entitlements": [
{}
],
"reactivated_scopes": [
"<unknown>"
],
"permissions": [
{}
]
},
"iam": {},
"interactions": {},
"data_movement": {},
"identity_metadata": {},
"cluster": {
"cluster_id": "<string>",
"name": "<string>",
"tier": "<string>",
"archetype": "<string>",
"rank": {}
},
"risk": {},
"risk_lens": {
"blast_radius": "<string>",
"reaches_control_plane": true
},
"coverage": {},
"asset_tier": {},
"resource_edges": [
{}
],
"actor_edges": [
{}
],
"operations": {},
"call_samples": [
{}
],
"call_rhythm": {},
"credential_posture": {},
"drift": {}
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"resource": "<string>",
"message": "<string>",
"details": "<string>",
"days_until_ready": 123,
"external_api_enabled_at_utc": "2023-11-07T05:31:56Z",
"now_utc": "2023-11-07T05:31:56Z"
}Authorizations
Domain-scoped API key. Generate and manage keys from the API Keys page in Settings.
Accepted in two forms:
X-API-Key: <key>header (preferred)Authorization: Bearer <key>header (also accepted)
Path Parameters
Response
Projected NHI detail
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Reconstructed mandate and functions from Persona L.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
core_iam — authentication, credential, operation pattern, devices.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?

