API reference · schema
CanonicalDecision
20 fields · used by 0 operations
Last reviewed 2026-10-02
Fields
| Field | Type | Meaning |
|---|---|---|
decision_id required | string | |
tenant_id required | string | |
principal required | string | |
agent_id required | string or null | |
action required | string | |
resource required | string | |
policy_id | string or null | default "cain.authz" |
policy_version | string or null | default "1.0" |
identity_result | string | default "verified" |
authorization_result required | string | |
risk_result | string | default "low" |
verification_result | string | default "passed" |
decision required | string | |
enforcement required | string | |
execution_result | string or null | |
outcome required | string | |
evidence_id | string or null | |
evidence_hash | string or null | |
timestamp required | string | |
signature | string or null |
Smallest valid example
{
"decision_id": "decision-id",
"tenant_id": "tenant-id",
"principal": "principal",
"agent_id": "agent-id",
"action": "action",
"resource": "resource",
"policy_id": "cain.authz",
"policy_version": "1.0",
"identity_result": "verified",
"authorization_result": "authorization-result",
"risk_result": "low",
"verification_result": "passed",
"decision": "decision",
"enforcement": "enforcement",
"outcome": "outcome",
"timestamp": "timestamp"
}JSON Schema
Show the raw definition
{
"properties": {
"decision_id": {
"type": "string",
"title": "Decision Id"
},
"tenant_id": {
"type": "string",
"title": "Tenant Id"
},
"principal": {
"type": "string",
"title": "Principal"
},
"agent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Agent Id"
},
"action": {
"type": "string",
"title": "Action"
},
"resource": {
"type": "string",
"title": "Resource"
},
"policy_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Id",
"default": "cain.authz"
},
"policy_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Policy Version",
"default": "1.0"
},
"identity_result": {
"type": "string",
"title": "Identity Result",
"default": "verified"
},
"authorization_result": {
"type": "string",
"title": "Authorization Result"
},
"risk_result": {
"type": "string",
"title": "Risk Result",
"default": "low"
},
"verification_result": {
"type": "string",
"title": "Verification Result",
"default": "passed"
},
"decision": {
"type": "string",
"title": "Decision"
},
"enforcement": {
"type": "string",
"title": "Enforcement"
},
"execution_result": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Execution Result"
},
"outcome": {
"type": "string",
"title": "Outcome"
},
"evidence_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Id"
},
"evidence_hash": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Evidence Hash"
},
"timestamp": {
"type": "string",
"title": "Timestamp"
},
"signature": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Signature"
}
},
"type": "object",
"required": [
"decision_id",
"tenant_id",
"principal",
"agent_id",
"action",
"resource",
"authorization_result",
"decision",
"enforcement",
"outcome",
"timestamp"
],
"title": "CanonicalDecision"
}Try CAIN-42 on your own agents
Create a free account and every new account starts with a 7-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