CAIN-42 CAIN Studio

API reference · schema

CanonicalDecision

20 fields · used by 0 operations

Last reviewed 2026-10-02

Fields

FieldTypeMeaning
decision_id requiredstring
tenant_id requiredstring
principal requiredstring
agent_id requiredstring or null
action requiredstring
resource requiredstring
policy_idstring or nulldefault "cain.authz"
policy_versionstring or nulldefault "1.0"
identity_resultstringdefault "verified"
authorization_result requiredstring
risk_resultstringdefault "low"
verification_resultstringdefault "passed"
decision requiredstring
enforcement requiredstring
execution_resultstring or null
outcome requiredstring
evidence_idstring or null
evidence_hashstring or null
timestamp requiredstring
signaturestring 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