API reference · Trust Fabric
Public key that signs every recorded decision
GET /fabric/decision-signing-key
Last reviewed 2026-11-06
GET /fabric/decision-signing-key
Public, no account needed: verify record signatures offline with this key.
Responses
| Status | Meaning | Body |
|---|---|---|
200 | Successful Response | JSON |
401 | The X-API-Key header is missing, or the key is unknown, revoked or replaced. | Error |
403 | The key is valid but may not do this (for example an agent key approving its own held action). | Error |
429 | Rate limit or monthly quota reached. Wait for the number of seconds in Retry-After when it is sent. | Error |
Try it
The request goes from your browser straight to this site. Your key is not stored unless you tick the box, and then only in this tab's session storage.
Code
curl -sS -X GET 'https://cainstudio.online/fabric/decision-signing-key' \
-H "X-API-Key: $CAIN_API_KEY"import json, os, urllib.request
req = urllib.request.Request('https://cainstudio.online/fabric/decision-signing-key', method='GET',
headers={"X-API-Key": os.environ["CAIN_API_KEY"]})
with urllib.request.urlopen(req, timeout=60) as r:
print(r.status, json.load(r))const res = await fetch("https://cainstudio.online/fabric/decision-signing-key", {
method: "GET",
headers: {
"X-API-Key": process.env.CAIN_API_KEY!,
},
});
console.log(res.status, await res.json());Schemas used
← Catalog grouped by Trust Fabric domain (what the homepage renders) · all 81 Trust Fabric calls · List this tenant's recent Fabric decisions →
Try CAIN-42 on your own agents
Create a free account and every new account starts with a 30-day trial of the full platform. Or try the sandbox first, with no account at all.
Create a free account → · Try the sandbox · See the whole ecosystem