Evaluate captured execution intent without executing it

Canonical SDK/API route for Decionis execution-gate decisions.

post/v1/protocol/evaluate-decision

Request

  • Base URL: https://api.decionis.com
  • URL: https://api.decionis.com/v1/protocol/evaluate-decision
  • Auth: HTTP bearer

Headers

X-Correlation-IDstring
Idempotency-Keystring

Request body

org_idstring uuid

Optional when authenticated with an organization API key.

decision_typestring required
amountnumber
risk_scorenumber
channelstring
policy_versionstring

The exact active policy bundle version to decide under. A named version the organization does not hold fails closed (policy_guard.reason requested_policy_bundle_not_found, outcome ESCALATE); it is never silently substituted. Omit it to decide under the newest active bundle — the response's policy_bundle_resolution says which happened.

require_exact_policy_versionboolean

Accepted for compatibility. Exact matching is now the default whenever policy_version is named.

objective_profilestring
mode'SHADOW' | 'PARALLEL' | 'ENFORCEMENT'

Absent means SHADOW. The spellings enforce and enforced are accepted as ENFORCEMENT; any other value is a 400, never a silent SHADOW.

decision_bandstring
transaction_typestring
workflow_keystring
vertical_packstring
contextobject

Arbitrary evaluated facts. A matched ESCALATE rule can issue a Presence Authority Requirement only when action_context conforms to PresenceActionContext; the digest binds that complete canonical object and unknown action fields are excluded from the binding. context.authority_requirement is reserved and rejected; callers cannot promote their own JSON into trusted authority policy. context.decionis_policy describes the repository's policy file (the workflow gate's DECIONIS_POLICY.md) and is recorded with the decision. Its sha256 must be the SHA-256 of its UTF-8 content: Decionis hashes the content itself, and from a descriptor claiming another hash it neither versions nor publishes anything (the event policy.file.encode_rejected records it). With enforce: true, its decionis rules block is published as the workspace's ACTIVE enforced bundle only when the key holds policy:write, policy:* or org:*; for any other key the decision is unaffected, nothing is published, and the response carries x-decionis-warning: POLICY_ENFORCE_SCOPE_MISSING.

idempotency_keystring

Response

Policy decision

protocol_version'1.1'
outcome'APPROVE' | 'ESCALATE' | 'REJECT' | 'REVIEW' required
verdict'ALLOW' | 'ESCALATE' | 'BLOCK'
authority_classification'AUTHORITATIVE' | 'OBSERVATIONAL'

Authority possessed by an artifact, independent of its verdict. Only AUTHORITATIVE artifacts may become execution-eligible.

execution_eligibleboolean
input_snapshot_digeststring
execution_binding_digeststring nullable

Commitment to the exact-action ExecutionBinding when one is present. Null on observational or otherwise non-execution-eligible Protocol 1.1 evaluations.

confidencenumber required
policy_versionstring required
objective_profilestring required
dossier_idstring uuid required
dossier_sha256string nullable
evaluation_idstring uuid required
decision_resolution_idstring uuid nullable
ledger_entry_idstring uuid nullable
ledger_entry_hashstring nullable
mode'SHADOW' | 'PARALLEL' | 'ENFORCEMENT' required
fallback_to_legacyboolean required
fallback_reasonstring nullable

The rollout's reason for a legacy fallback, or the policy guard's reason when the guard blocked. In SHADOW this reads mode_not_enforcement by design; enforcement_effect states the mode's effect on its own.

governance_metricsobject required
policy_guardobject
policy_evaluationobject
policy_snapshotobject

Hash-backed reference to the encoded policy bundle evaluated by the protocol.

execution_bindingobject

Exact-action ExecutionBinding v1.0. Absent on observational or otherwise non-execution-eligible evaluations.

idempotent_replayboolean required

Example response

{
  "verification": {
    "signature_algorithm": "HMAC-SHA256"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.