# 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.

- Extends: `dev.ucp.shopping.checkout`
- Extension version: `2026-09-05`
- Written against UCP: `2026-04-08`
- Schema: https://decionis.com/reference/ucp-execution-authority.schema.json

## Standing

Published by Decionis under its own reverse-domain namespace, which UCP permits without maintainer approval. Not a UCP membership, endorsement, certification or partnership.

## Availability

Present in every published release (2026-01-23, 2026-04-08): status.requires_escalation, continue_url, signals.

On the specification's main branch only, and therefore not usable against a live merchant today: actions, request_constraints.

## Verdict mapping

### 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.

## Relationship to AP2

- The business signs ap2.merchant_authorization.
- The platform or the user's wallet signs ap2.checkout_mandate.
- The PSP verifies payment_mandate and creates nothing.

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.

## Signals

- `com.decionis.authority_verdict` — ALLOW | ESCALATE | BLOCK
- `com.decionis.dossier_id` — identifier of the signed Decision Dossier

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.

## Error codes

- `com.decionis.execution_authority_blocked`
- `com.decionis.execution_authority_unavailable`

## Examples

- allow: https://decionis.com/reference/ucp-execution-authority/examples/allow.json
- escalate: https://decionis.com/reference/ucp-execution-authority/examples/escalate.json
- block: https://decionis.com/reference/ucp-execution-authority/examples/block.json
- signals: https://decionis.com/reference/ucp-execution-authority/examples/signals.json
