---
title: "Revalidate a named human review's current source and dossier"
method: POST
path: "/v1/internal/commerce/connected/approvals/revalidate"
---

# Revalidate a named human review's current source and dossier

`POST /v1/internal/commerce/connected/approvals/revalidate`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/internal/commerce/connected/approvals/revalidate`
- Auth: HTTP bearer

Default off; only a dedicated commerceConnectedTransport credential is admitted. Enabled automatic onboarding additionally requires accountSourceAuthority:true with orgIds omitted. This is not a generic wildcard org key. Each handler independently verifies fresh Accounts signed authority, exact resource/source/plan/tenant/revision and the synced projection before disclosing any result. Generic fixed-orgIds service keys keep their existing permissions. The body authority is mandatory fresh Accounts accounts-commerce-human-review-v1 evidence with purpose commerce_human_review, bound to the exact case revision/context/action/dossier and expected source/workspace. A live product-session token is sent only to Accounts by the trusted BFF; this consumer accepts signed evidence only. It checks current source/policy/dossier and native company permissions. Commerce separately enforces named assignment, requester separation and the atomic human decision. No execution or stale OAuth extension is available.

## Headers

- `x-org-id` string, uuid, required

## Request body

- CommerceApprovalRevalidate
  - `org_id` string, uuid, required
  - `dossier_id` string, uuid, required
  - `policy_version` string, required
  - `case` object, required
    - `case_id` string, uuid, required
    - `revision` integer, required
    - `context_sha256` string, required
    - `action_sha256` string, required
    - `dossier_sha256` string, required
  - `expected` object, required
    - `org_id` string, required
    - `workspace_id` string, required
    - `entitlement_id` string, required
    - `source_org_id` string, uuid, required
    - `subscription_id` string, uuid, required
    - `provider_tenant_id` string, uuid, required
    - `source_revision` integer, required
  - `source` object, required
    - `platform` 'business-central' | 'walmart-marketplace' | 'adobe-commerce', required
    - `connection_id` string, uuid, required
    - `revision` integer, required
  - `authority` unknown

## Response `200`

Bounded private result

- CommerceApprovalRevalidated
  - `version` 'commerce-human-review-evidence-v1', required
  - `org_id` string, uuid, required
  - `case` object, required
    - `case_id` string, uuid, required
    - `revision` integer, required
    - `context_sha256` string, required
    - `action_sha256` string, required
    - `dossier_sha256` string, required
  - `actor` object, required
    - `user_id` string, required
    - `org_id` string, required
    - `workspace_id` string, required
    - `membership_id` string, required
    - `entitlement_id` string, required
    - `role` 'owner' | 'admin' | 'developer' | 'security_analyst' | 'billing', required
    - `product` 'commerce', required
    - `environment` 'production', required
  - `supported_sources` string[], required
  - `expires_at` string, date-time, required
  - `source` object, required
    - `platform` 'business-central' | 'walmart-marketplace' | 'adobe-commerce', required
    - `connection_id` string, uuid, required
    - `revision` integer, required
  - `evidence` object, required
    - `version` 'commerce-approval-evidence-v1', required
    - `org_id` string, uuid, required
    - `dossier_id` string, uuid, required
    - `dossier_sha256` string, required
    - `evaluation_id` string, uuid, required
    - `action_type` 'ORDER_ACCEPTANCE' | 'REFUND_REQUEST', required
    - `action_sha256` string, required
    - `platform` 'business-central' | 'walmart-marketplace' | 'adobe-commerce', required
    - `order_id` string, required
    - `amount` number, required
    - `currency` string, required
    - `policy` object, required
      - `bundle_id` string, uuid, required
      - `version` string, required
      - `policy_digest` string, required
    - `mode` 'SHADOW', required
    - `outcome` 'APPROVE' | 'ESCALATE' | 'REJECT' | 'REVIEW', required
    - `preflight` object, required
      - `version` 'commerce-preflight-v2', required
      - `action_type` 'PRICE_CHANGE' | 'INVENTORY_MUTATION' | 'ORDER_ACCEPTANCE' | 'FULFILLMENT_ACTION' | 'PROMOTION_CHANGE' | 'REFUND_REQUEST' | 'RETURN_AUTHORIZATION' | 'PAYMENT_RELEASE' | 'VENDOR_BANK_CHANGE' | 'EARLY_PAYMENT_DISCOUNT' | 'CREDIT_HOLD_RELEASE', required
      - `action_digest` string, required
      - `facts_digest` string, required
      - `policy_version` string, required
      - `idempotency_key` string, required
      - `evaluated_at` string, date-time, required
      - `disposition` 'PROCEED' | 'HOLD' | 'BLOCK', required
      - `execution_available` false, required
      - `checks` object[], required
        - `id` 'P01' | 'P02' | 'P03' | 'P04' | 'P05' | 'P06' | 'P07' | 'P08' | 'P09' | 'P10' | 'P11' | 'P12' | 'P13' | 'P14' | 'P15' | 'P16', required
        - `status` 'evaluated' | 'not_applicable' | 'disabled' | 'missing_facts' | 'unsupported', required
        - `verdict` 'PROCEED' | 'HOLD' | 'BLOCK', nullable, required
        - `reason_codes` string[], required
        - `missing_facts` string[], required
        - `measurements` object
    - `source_evidence` object, required
      - `provenance` 'supplied_evidence' | 'native_snapshot', required
      - `connection_id` string, uuid, nullable, required
      - `revision` integer, nullable, required
      - `snapshot_sha256` string, nullable, required
    - `review` object, required
      - `summary` string, required
      - `facts` object[], required
        - `key` 'resource_id' | 'amount' | 'currency' | 'requested_quantity' | 'gross_amount' | 'discount_amount' | 'estimated_cost' | 'remaining_refundable' | 'lifecycle_state', required
        - `value` union, required
          - string
          - number
    - `verification` object, required
      - `signature_verified` true, required
      - `inputs_commitment_verified` true, required
      - `policy_current` true, required
    - `execution_available` false, required

## Other responses

- `400`: Invalid, oversized or conflicting request fields
- `401`: Authentication required
- `403`: Current signed authority, source, scope, role or company permission denied
- `404`: Authorized source, document or evidence unavailable
- `409`: Exact source, policy, evidence or idempotency binding changed; an uncertain write is never retried
- `429`: Request rate limit reached
- `503`: Default-off capability or required dependency unavailable

---

[API](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api.md) · [All operations](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/revisions/357f5e459d0c?raw)
