Skip to main content
The compliance rollup is the single authoritative view of a transaction’s end-to-end state. Instead of assembling state from six module endpoints (buyer, order, invoice, payment, transport, export file), call one endpoint and get everything — including a human-readable list of blockers.

Endpoint

Response shape

Status values

complianceStatus is a three-state rollup: decision is populated after the terminal status is reached:
  • VALID_EXPORT — VAT-exempt transaction complete.
  • VAT_APPLICABLE — VAT must be applied on the final invoice.

Blockers

blockers[] is the actionable list of what’s missing. Each entry carries:
  • module — which module is blocking
  • code — machine-readable key (safe to map to UI copy)
  • message — human-readable explanation
Always display these to your users. They’re the fastest path to diagnosing “why isn’t this order moving?”

Per-VIN variance

Transport state may differ per VIN in multi-VIN orders (one vehicle picked up, another pending). Check modules.transport.vins[] for per-VIN milestones. Buyer/invoice/payment are order-level.

Polling efficiently with ETag

The rollup supports If-None-Match for cheap polling:
Only refetch the body when version bumps. Use a short poll interval (10–60s) for orders in flight; less for completed orders.

When to poll vs subscribe to webhooks

See Webhooks overview for the subscription pattern.

Next

Idempotency

How to retry safely.

Webhooks overview

Event-driven alternative to polling.