Authorize an action
The call that goes in front of the spend. Runs the full policy evaluation, reserves budget against the budget, records an intent, and returns the decision.
Branch on the status code, not the body.
An intent is recorded even when the outcome is denied, so a refusal is auditable.
An agent with no active policy denies everything, with rule no_policy. This is
deliberate and fail-closed: write a policy before you expect an allow.
Authorizations
An agent API key, krt_live_... or krt_test_..., shown exactly once at creation. Kordio stores only a digest. This credential can ask for authorization and can never write policy.
Headers
Unique per action, scoped to the agent. A replay returns the original intent and the original decision, at the original status, rather than reserving budget twice.
"order-4471-attempt-1"
Body
An active session belonging to this agent.
Lowercase, dot separated.
^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$"payment.create"
The counterparty or target. Matched by allowlists.
"acme-supplies.example"
Minor units. Omit or 0 for an action that spends nothing.
x >= 0Any dot path here is addressable from the condition language as metadata.*.
Yours if you have one, generated otherwise. Links the whole audit trail.
Response
allowed. Execute the action, then report the outcome with complete or fail. A cosignature is included when cosigning is configured.