---
title: "Compare bounded observed Walmart or Adobe history"
method: POST
path: "/v1/internal/commerce/connected/history/compare"
---

# Compare bounded observed Walmart or Adobe history

`POST /v1/internal/commerce/connected/history/compare`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/internal/commerce/connected/history/compare`
- 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. Requires the transient source proof header and its exact supported marketplace source. Pure comparison of at most 100 documents over the previous 90 complete UTC dates against the exact policy digest. Evaluates only supported historical undercost, margin, discount stacking and price discrepancy facts; missing evidence is not_assessed. The report is unsigned, performs no full policy replay or external action, and is not a 90-day trial. Commerce owns source reads, report reservations and immutable persistence.

## Headers

- `x-org-id` string, uuid, required
- `x-commerce-source-authority` string, required

## Request body

- CommerceMarketplaceHistoryCompare
  - `org_id` string, uuid, required
  - `assessment_id` string, uuid, required
  - `connection_id` string, uuid, required
  - `connection_revision` integer, required
  - `source` 'walmart-marketplace' | 'adobe-commerce', required
  - `policy` object, required
    - `bundle_id` string, uuid, required
    - `version` string, required
    - `policy_digest` string, required
    - `floor_percent` number, required
    - `max_concurrent_discounts` integer, required
    - `price_tolerance_percent` number, required
    - `price_reference` object
      - `kind` 'recorded_order_original_price', required
      - `max_markdown_percent` number, required
    - `comparison` 'observed_historical_commerce_checks', required
    - `full_policy_evaluated` false, required
  - `window` object, required
    - `days` 90, required
    - `start_date` string, required
    - `end_date_exclusive` string, required
    - `anchor` 'server_utc_date', required
  - `observed_at` string, date-time, required
  - `records` object[], required
    - `record_id` string, required
    - `transaction_date` string, required
    - `date_precision` 'day' | 'instant', required
    - `transaction_at` string, date-time, nullable, required
    - `currency` string, nullable, required
    - `net_amount_excluding_tax` number, nullable, required
    - `cost_basis` number, nullable, required
    - `cost_currency` string, nullable, required
    - `cost_provenance` 'historical_document' | 'unavailable', required
    - `discount_count` integer, nullable, required
    - `discount_provenance` 'historical_document' | 'unavailable', required
    - `expected_net_amount_excluding_tax` number, nullable, required
    - `expected_price_currency` string, nullable, required
    - `expected_price_provenance` 'historical_contract' | 'unavailable', required
    - `original_price_reference` object
      - `amount` number, required
      - `currency` string, required
      - `provenance` 'adobe_order_item_base_original_price', required
    - `lines_complete` boolean, required
  - `documents_scanned` integer, required
  - `truncated` boolean, required
  - `source_complete` boolean, required
  - `source_reasons` string[], required

## Response `200`

Bounded private result

- CommerceMarketplaceHistoryAssessment
  - `version` 'commerce-marketplace-history-v1', required
  - `status` 'completed', required
  - `mode` 'historical_only', required
  - `org_id` string, uuid, required
  - `assessment_id` string, uuid, required
  - `connection_id` string, uuid, required
  - `connection_revision` integer, required
  - `source` 'walmart-marketplace' | 'adobe-commerce', required
  - `assessed_at` string, date-time, required
  - `observed_at` string, date-time, required
  - `window` object, required
    - `days` 90, required
    - `start_date` string, required
    - `end_date_exclusive` string, required
    - `anchor` 'server_utc_date', required
  - `policy` object, required
    - `bundle_id` string, uuid, required
    - `version` string, required
    - `policy_digest` string, required
    - `floor_percent` number, required
    - `max_concurrent_discounts` integer, required
    - `price_tolerance_percent` number, required
    - `price_reference` object
      - `kind` 'recorded_order_original_price', required
      - `max_markdown_percent` number, required
    - `comparison` 'observed_historical_commerce_checks', required
    - `full_policy_evaluated` false, required
  - `cost_scope` 'merchandise_margin', required
  - `summary` object, required
    - `documents_scanned` integer, required
    - `documents_returned` integer, required
    - `records_with_findings` integer, required
    - `fully_assessed` integer, required
    - `partially_or_not_assessed` integer, required
    - `undercost` integer, required
    - `below_margin_floor` integer, required
    - `discount_stacking` integer, required
    - `price_discrepancy` integer, required
    - `missing_cost` integer, required
    - `missing_currency` integer, required
    - `missing_discounts` integer, required
    - `missing_price_reference` integer, required
  - `findings` object[], required
    - `record_id` string, required
    - `transaction_date` string, required
    - `date_precision` 'day' | 'instant', required
    - `currency` string, nullable, required
    - `checks` object, required
      - `undercost` object, required
        - `result` 'finding' | 'within_rule' | 'not_assessed', required
        - `reason` 'UNDER_COST' | 'AT_OR_ABOVE_COST' | 'MARGIN_BELOW_FLOOR' | 'MARGIN_WITHIN_FLOOR' | 'DISCOUNT_STACKING_REVIEW' | 'DISCOUNT_STACKING_WITHIN_LIMIT' | 'PRICE_DISCREPANCY' | 'PRICE_WITHIN_TOLERANCE' | 'ORIGINAL_PRICE_MARKDOWN_EXCEEDED' | 'ORIGINAL_PRICE_MARKDOWN_WITHIN_LIMIT' | 'HISTORICAL_COST_UNAVAILABLE' | 'CURRENCY_UNAVAILABLE' | 'COST_CURRENCY_MISMATCH' | 'AMOUNT_UNAVAILABLE' | 'LINES_INCOMPLETE' | 'DATE_OUTSIDE_WINDOW' | 'DUPLICATE_RECORD' | 'DISCOUNT_EVIDENCE_UNAVAILABLE' | 'PRICE_REFERENCE_UNAVAILABLE' | 'PRICE_CURRENCY_MISMATCH' | 'COMPARISON_UNAVAILABLE', required
        - `observed` number, nullable, required
        - `threshold` number, required
        - `basis` 'recorded_order_original_price'
      - `margin` object, required
        - `result` 'finding' | 'within_rule' | 'not_assessed', required
        - `reason` 'UNDER_COST' | 'AT_OR_ABOVE_COST' | 'MARGIN_BELOW_FLOOR' | 'MARGIN_WITHIN_FLOOR' | 'DISCOUNT_STACKING_REVIEW' | 'DISCOUNT_STACKING_WITHIN_LIMIT' | 'PRICE_DISCREPANCY' | 'PRICE_WITHIN_TOLERANCE' | 'ORIGINAL_PRICE_MARKDOWN_EXCEEDED' | 'ORIGINAL_PRICE_MARKDOWN_WITHIN_LIMIT' | 'HISTORICAL_COST_UNAVAILABLE' | 'CURRENCY_UNAVAILABLE' | 'COST_CURRENCY_MISMATCH' | 'AMOUNT_UNAVAILABLE' | 'LINES_INCOMPLETE' | 'DATE_OUTSIDE_WINDOW' | 'DUPLICATE_RECORD' | 'DISCOUNT_EVIDENCE_UNAVAILABLE' | 'PRICE_REFERENCE_UNAVAILABLE' | 'PRICE_CURRENCY_MISMATCH' | 'COMPARISON_UNAVAILABLE', required
        - `observed` number, nullable, required
        - `threshold` number, required
        - `basis` 'recorded_order_original_price'
      - `discount_stacking` object, required
        - `result` 'finding' | 'within_rule' | 'not_assessed', required
        - `reason` 'UNDER_COST' | 'AT_OR_ABOVE_COST' | 'MARGIN_BELOW_FLOOR' | 'MARGIN_WITHIN_FLOOR' | 'DISCOUNT_STACKING_REVIEW' | 'DISCOUNT_STACKING_WITHIN_LIMIT' | 'PRICE_DISCREPANCY' | 'PRICE_WITHIN_TOLERANCE' | 'ORIGINAL_PRICE_MARKDOWN_EXCEEDED' | 'ORIGINAL_PRICE_MARKDOWN_WITHIN_LIMIT' | 'HISTORICAL_COST_UNAVAILABLE' | 'CURRENCY_UNAVAILABLE' | 'COST_CURRENCY_MISMATCH' | 'AMOUNT_UNAVAILABLE' | 'LINES_INCOMPLETE' | 'DATE_OUTSIDE_WINDOW' | 'DUPLICATE_RECORD' | 'DISCOUNT_EVIDENCE_UNAVAILABLE' | 'PRICE_REFERENCE_UNAVAILABLE' | 'PRICE_CURRENCY_MISMATCH' | 'COMPARISON_UNAVAILABLE', required
        - `observed` number, nullable, required
        - `threshold` number, required
        - `basis` 'recorded_order_original_price'
      - `price_discrepancy` object, required
        - `result` 'finding' | 'within_rule' | 'not_assessed', required
        - `reason` 'UNDER_COST' | 'AT_OR_ABOVE_COST' | 'MARGIN_BELOW_FLOOR' | 'MARGIN_WITHIN_FLOOR' | 'DISCOUNT_STACKING_REVIEW' | 'DISCOUNT_STACKING_WITHIN_LIMIT' | 'PRICE_DISCREPANCY' | 'PRICE_WITHIN_TOLERANCE' | 'ORIGINAL_PRICE_MARKDOWN_EXCEEDED' | 'ORIGINAL_PRICE_MARKDOWN_WITHIN_LIMIT' | 'HISTORICAL_COST_UNAVAILABLE' | 'CURRENCY_UNAVAILABLE' | 'COST_CURRENCY_MISMATCH' | 'AMOUNT_UNAVAILABLE' | 'LINES_INCOMPLETE' | 'DATE_OUTSIDE_WINDOW' | 'DUPLICATE_RECORD' | 'DISCOUNT_EVIDENCE_UNAVAILABLE' | 'PRICE_REFERENCE_UNAVAILABLE' | 'PRICE_CURRENCY_MISMATCH' | 'COMPARISON_UNAVAILABLE', required
        - `observed` number, nullable, required
        - `threshold` number, required
        - `basis` 'recorded_order_original_price'
    - `proof_ref` unknown, required
  - `coverage` object, required
    - `record_limit` 100, required
    - `complete` boolean, required
    - `truncated` boolean, required
    - `reasons` string[], required
  - `proof_ref` unknown, required
  - `evidence_verification` 'unsigned', required
  - `execution_available` false, required
  - `no_downstream_action_executed` true, 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)
