Reference · com.decionis.commerce.execution_authority
UCP settles how an agent transacts with a business. This extension settles whether the agent was authorised to commit the transaction, and points at the signed dossier that proves why.
Published by Decionis under its own reverse-domain namespace, which UCP permits without maintainer approval. Not a UCP membership, endorsement, certification or partnership.
UCP settles how an agent transacts with a business — discovery, cart, checkout, order. It does not settle whether the agent was permitted to commit the transaction it is about to complete.
That gap is load-bearing rather than accidental, because UCP’s own checkout state machine already carries requires_escalation, described in the specification as covering “regulatory requirements, merchant policies, or capabilities the agent does not yet support”. A checkout in that state MUST carry a continue_url. The protocol reserved a place for an authority and left it for someone else to fill.
Three verdicts, three dispositions. The wire tokens are carried through unchanged; a checkout is not the place to invent a fourth vocabulary.
ALLOW
The completion proceeds.
No status is claimed. Authority raising no objection is not a claim that the checkout is otherwise ready — that answer belongs to the business.
ESCALATE
The completion is held, not refused.
status becomes requires_escalation, and continue_url — which UCP makes mandatory in that state — is where a human authority resolves it.
BLOCK
The completion is refused.
There is no UCP status meaning “never”, so the call fails with an error carrying a vendor-namespaced code. UCP permits freeform codes.
UCP ships dated releases and negotiates them by exact version, so what a merchant can actually read depends on which release they serve. Present in every published release (2026-01-23, 2026-04-08, 2026-08-25):
Available from the April release:
Available from the 2026-08-25 release:
This extension therefore escalates through the status enum, which every release has, and adds an outstanding Action only where the negotiated release carries one.
2026-04-08 with extension 2026-09-05: Existing April artifacts retain their original extension schema and status/continue_url behavior. They do not acquire Actions or Protocol 1.1 execution eligibility retroactively.
2026-08-25 with extension 2026-09-06: Existing 2026-09-06 artifacts retain their additive Protocol 1.1 fields and review Action contract. Protocol 1.1 authority commitments remain optional under that historical schema.
2026-08-25 with extension 2026-09-07: August negotiation adds the declared review Action. The 2026-09-07 schema requires the complete Protocol 1.1 authority, immutable policy, evaluation-semantics, input-snapshot, and execution-binding commitment tuple. Its checkout response envelope includes ucp.payment_handlers, official required line-item fields, and one unambiguous subtotal and total.
capabilities and payment_handlers are maps whose values are arrays of versioned entity references; payment handlers also require id.
A capability is active only through an exact supported extension version for the negotiated protocol release. The Decionis review Action additionally requires the active checkout base. A response reference may omit extends after profile intersection; if supplied it must include checkout. A key with an empty array is not negotiation.
AP2 mandates and this extension answer different questions, and the specification is what settles which is which. AP2 names exactly two signers:
AP2 names exactly two signers, and no third party may generate or sign a mandate claim. So AP2 proves the terms were not tampered with and that consent was captured — it cannot express whether the principal held the authority to commit those terms. That is a different question, and it travels alongside the mandates rather than inside them.
The escalation case is the one worth reading closely. The agent is not refused; the completion is held, and continue_url is where a human authority resolves it.
https://decionis.com/reference/ucp-execution-authority/examples/escalate.jsonApproval is evidence, not a verdict: resolving an escalation re-runs the original request through the protocol with the approval in context, and the new outcome is what decides. A recorded approval never becomes an allow on its own.
Acceptance of a later Complete Checkout operation for this exact checkout. The Action does not complete the checkout, mint execution authority, or authorize any other operation.
The Business emits one instance only when the negotiated 2026-08-25 capability is active and an authoritative ESCALATE leaves human authority work outstanding for this checkout.
UCP's signals object accepts vendor-namespaced keys, so a platform already holding a verdict can pass it to a business without either side negotiating this extension. The inbound object remains untrusted: a com.decionis.* name is not proof of origin or authority. Decionis verifies referenced evidence, commits only a privacy-safe digest/projection to dossier context, and does not retain raw buyer IP, user-agent, provider, credential, prompt, or secret values by default.
{
"com.decionis.authority_verdict": "ESCALATE",
"com.decionis.dossier_id": "…"
}Every artifact on this page is generated from one module, and validated against the live specification at ucp.dev before publication.