Govern a spend request (Gate 1 — spend admission)
Evaluates an expense / vendor-payment / refund / credit request against the ops spend-control vertical pack (approval threshold + dual authorization, vendor verification, refund/credit limits). Runs the full shared evaluate-decision pipeline and returns a signed dossier reference.
Authorization
ApiKeyAuth An organization API key. Its scopes decide what it may call;
decision:shadow is the narrowest: SHADOW evaluations through
POST /v1/authority/grants or its alias
POST /v1/authority/enforce-and-bind only (DECISION_SHADOW_MODE_DENIED
in any other mode; DECISION_SHADOW_FIELD_DENIED for a body carrying
context.decionis_policy, evidence or escalation), with no
integration dispatch. A key whose only scope is decision:shadow
(an AgentSafe hosted gateway's) reaches exactly those two,
POST /v1/auth/credential-context, POST /v1/hosted-gateway/keys/confirm
and POST /v1/hosted-gateway/keys/revoke-self; every other route
answers 403 HOSTED_GATEWAY_KEY_PATH_DENIED.
decision:enforce is an enforced hosted gateway's key: evaluations
in SHADOW or ENFORCEMENT through POST /v1/authority/grants or its
alias (400 DECISION_ENFORCE_FIELD_DENIED for a body carrying
context.decionis_policy; it never holds policy:write), and the
grants and managed escalations they bind. A key whose scopes are
decision:enforce (with or without decision:shadow) reaches exactly
POST /v1/authority/enforce-and-bind, POST /v1/authority/grants,
GET /v1/authority/grants/{grant_id},
POST /v1/authority/grants/{grant_id}/claims,
POST /v1/authority/grants/{grant_id}/receipts,
POST /v1/authority/grants/{grant_id}/reconciliations,
POST /v1/execution/verify-token, POST /v1/execution/claim-token,
POST /v1/execution/consume-token, POST /v1/execution/finalize-token,
GET /v1/authority/escalations/{escalation_id},
DELETE /v1/authority/escalations/{escalation_id},
POST /v1/auth/credential-context, POST /v1/hosted-gateway/keys/confirm
and POST /v1/hosted-gateway/keys/revoke-self, each id a UUID; every
other route answers 403 HOSTED_GATEWAY_KEY_PATH_DENIED.
In: header
Header Parameters
Request Body
application/json
A spend/disbursement payload for the ops spend-control vertical pack.
amount, currency, vendor_id, invoice_number, vendor_status, expense_threshold, refund_limit, credit_limit, etc.
The acting principal and its role (e.g. role Controller or CFO).
requested_by, approved_by, second_approver, org_id, etc.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/protocol/ops/spend-admission/verify" \ -H "Content-Type: application/json" \ -d '{}'{ "decision": "ALLOW", "outcome": "APPROVE", "reason": "string", "required_action": "string", "gate": "spend_admission", "decision_domain": "OPS_SPEND_ADMISSION", "rule_id": "string", "duplicate_suspected": true, "policy_version": "string", "dossier_id": "string", "dossier_sha256": "string", "ledger_entry_id": "string", "ledger_entry_hash": "string", "federated": true, "pipeline": true, "idempotent_replay": true}Evaluate captured execution intent through the SDK compatibility route POST
Backwards-compatible alias for SDKs before the canonical protocol route.
Govern a disbursement (Gate 2 — disbursement authority) POST
Evaluates a vendor payment at release time: authorized role, segregation of duties, dual authorization, and duplicate-payment detection (a vendor + invoice/amount fingerprint compared against prior org evaluations in the lookback window).

