docs.vin

dealCompliance

The dealCompliance noun — identity, lifecycle, events, and every capability as an anchored section: 8 capabilities, 0 live, 8 sandbox, 0 declared.

dealCompliance is one of the estate's 317 automotive nouns — a job a car needs done. It carries 8 capabilities: 0 live, 8 sandbox, 0 declared · doors aggregator.vin.

Identity

NoundealCompliance
PillarData (facets: 5 data · 3 services)
Capabilities8 — 0 live · 8 sandbox · 0 declared
EntitiesDeal
Doorsaggregator.vin
SDKVin.dealCompliance.* from apis.vin
Address/catalog/dealCompliance#{action} — the anchor IS the wire name minus dealCompliance.

Events

The vocabulary this noun can append to the record — 3 past-tense, versioned event types, each linked to the capability that emits it:

Discover & read

check

dealCompliance.check · POST /deal-compliances/check · gate offer · sandbox · answers DealComplianceCheck@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

EmitsDealCompliance.complianceChecked@1.

the SDK — dealCompliance.check
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.check({"vin":"2C4RC1GGXLR156239"})
POST /deal-compliances/check
curl -X POST https://apis.vin/deal-compliances/check \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1GGXLR156239"}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.062Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceCheck@1",
  "value": {
    "dealId": "dealCompliance_94418ee2",
    "workflow": "workflow-314fafa8",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_ca62d442",
    "buyerId": "party_a2662135",
    "sellerId": "party_e6fa9fcb",
    "dealerOfRecordId": "dealer_f0396591",
    "authority": "mandate_107ec046",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_94418ee2",
    "workflow": "workflow-314fafa8",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_ca62d442",
    "buyerId": "party_a2662135",
    "sellerId": "party_e6fa9fcb",
    "dealerOfRecordId": "dealer_f0396591",
    "authority": "mandate_107ec046",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

usuryCheck

dealCompliance.usuryCheck · GET /deal-compliances/usury-check · gate key · sandbox · answers DealComplianceUsuryCheck@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — dealCompliance.usuryCheck
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.usuryCheck({"vin":"2C4RC1GGXLR156239"})
GET /deal-compliances/usury-check
curl 'https://apis.vin/deal-compliances/usury-check?vin=2C4RC1GGXLR156239'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.081Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceUsuryCheck@1",
  "value": {
    "dealId": "dealCompliance_3f7d6a16",
    "workflow": "workflow-ea88cc7c",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_715351a6",
    "buyerId": "party_ae7365a9",
    "sellerId": "party_d4345227",
    "dealerOfRecordId": "dealer_ff9c5e25",
    "authority": "mandate_7a248332",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_3f7d6a16",
    "workflow": "workflow-ea88cc7c",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_715351a6",
    "buyerId": "party_ae7365a9",
    "sellerId": "party_d4345227",
    "dealerOfRecordId": "dealer_ff9c5e25",
    "authority": "mandate_7a248332",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

strawPurchase

dealCompliance.strawPurchase · GET /deal-compliances/straw-purchase · gate key · sandbox · answers DealComplianceStrawPurchase@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — dealCompliance.strawPurchase
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.strawPurchase({"vin":"2C4RC1GGXLR156239"})
GET /deal-compliances/straw-purchase
curl 'https://apis.vin/deal-compliances/straw-purchase?vin=2C4RC1GGXLR156239'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.076Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceStrawPurchase@1",
  "value": {
    "dealId": "dealCompliance_f10d3ba9",
    "workflow": "workflow-8a65c2ef",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_500b949f",
    "buyerId": "party_aec7dcfc",
    "sellerId": "party_083e7c34",
    "dealerOfRecordId": "dealer_d1425e7e",
    "authority": "mandate_f57fa22f",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_f10d3ba9",
    "workflow": "workflow-8a65c2ef",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_500b949f",
    "buyerId": "party_aec7dcfc",
    "sellerId": "party_083e7c34",
    "dealerOfRecordId": "dealer_d1425e7e",
    "authority": "mandate_f57fa22f",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

exceptions

dealCompliance.exceptions · POST /deal-compliances/exceptions · gate offer · sandbox · answers DealComplianceExceptions@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

EmitsDealCompliance.exceptionLogged@1.

the SDK — dealCompliance.exceptions
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.exceptions({"vin":"2C4RC1GGXLR156239"})
POST /deal-compliances/exceptions
curl -X POST https://apis.vin/deal-compliances/exceptions \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1GGXLR156239"}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.067Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceExceptions@1",
  "value": {
    "dealId": "dealCompliance_13a88118",
    "workflow": "workflow-c5ee9eea",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_376147e4",
    "buyerId": "party_ee5ff427",
    "sellerId": "party_ad93b449",
    "dealerOfRecordId": "dealer_18743b2b",
    "authority": "mandate_3ceeb138",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_13a88118",
    "workflow": "workflow-c5ee9eea",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_376147e4",
    "buyerId": "party_ee5ff427",
    "sellerId": "party_ad93b449",
    "dealerOfRecordId": "dealer_18743b2b",
    "authority": "mandate_3ceeb138",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

feeCap

dealCompliance.feeCap · GET /deal-compliances/fee-cap · gate key · sandbox · answers DealComplianceFeeCap@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — dealCompliance.feeCap
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.feeCap({"vin":"2C4RC1GGXLR156239"})
GET /deal-compliances/fee-cap
curl 'https://apis.vin/deal-compliances/fee-cap?vin=2C4RC1GGXLR156239'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.067Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceFeeCap@1",
  "value": {
    "dealId": "dealCompliance_84d07a84",
    "workflow": "workflow-0a14f916",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_46c857d0",
    "buyerId": "party_8b5da843",
    "sellerId": "party_4a82287d",
    "dealerOfRecordId": "dealer_e526f257",
    "authority": "mandate_1ad57dbc",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_84d07a84",
    "workflow": "workflow-0a14f916",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_46c857d0",
    "buyerId": "party_8b5da843",
    "sellerId": "party_4a82287d",
    "dealerOfRecordId": "dealer_e526f257",
    "authority": "mandate_1ad57dbc",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

militaryLending

dealCompliance.militaryLending · GET /deal-compliances/military-lending · gate key · sandbox · answers DealComplianceMilitaryLending@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — dealCompliance.militaryLending
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.militaryLending({"vin":"2C4RC1GGXLR156239"})
GET /deal-compliances/military-lending
curl 'https://apis.vin/deal-compliances/military-lending?vin=2C4RC1GGXLR156239'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.067Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceMilitaryLending@1",
  "value": {
    "vin": "2C4RC1GGXLR156239",
    "complianceRef": "MLA-0028",
    "coveredBorrower": false,
    "militaryAnnualPercentageRateCap": "36.00",
    "mandatoryDisclosuresProvided": true,
    "arbitrationClauseProhibited": false,
    "compliant": true,
    "asOf": "2026-08-10"
  },
  "evidence": {
    "vin": "2C4RC1GGXLR156239",
    "complianceRef": "MLA-0028",
    "coveredBorrower": false,
    "militaryAnnualPercentageRateCap": "36.00",
    "mandatoryDisclosuresProvided": true,
    "arbitrationClauseProhibited": false,
    "compliant": true,
    "asOf": "2026-08-10"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "legal-authority-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

powerBooking

dealCompliance.powerBooking · GET /deal-compliances/power-booking · gate key · sandbox · answers DealCompliancePowerBooking@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — dealCompliance.powerBooking
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.powerBooking({"vin":"2C4RC1GGXLR156239"})
GET /deal-compliances/power-booking
curl 'https://apis.vin/deal-compliances/power-booking?vin=2C4RC1GGXLR156239'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.076Z · HTTP 200
{
  "type": "OK",
  "answers": "DealCompliancePowerBooking@1",
  "value": {
    "dealId": "dealCompliance_112cebb2",
    "workflow": "workflow-c8f6dd18",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_3ab0c8d2",
    "buyerId": "party_1b616905",
    "sellerId": "party_fb303c5b",
    "dealerOfRecordId": "dealer_07691581",
    "authority": "mandate_f4e8e656",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_112cebb2",
    "workflow": "workflow-c8f6dd18",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_3ab0c8d2",
    "buyerId": "party_1b616905",
    "sellerId": "party_fb303c5b",
    "dealerOfRecordId": "dealer_07691581",
    "authority": "mandate_f4e8e656",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

spotDelivery

dealCompliance.spotDelivery · POST /deal-compliances/spot-delivery · gate offer · sandbox · answers DealComplianceSpotDelivery@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /2C4RC1GGXLR156239 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

EmitsDealCompliance.spotControlled@1.

the SDK — dealCompliance.spotDelivery
import { dealCompliance } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await dealCompliance.spotDelivery({"vin":"2C4RC1GGXLR156239"})
POST /deal-compliances/spot-delivery
curl -X POST https://apis.vin/deal-compliances/spot-delivery \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1GGXLR156239"}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:10.076Z · HTTP 200
{
  "type": "OK",
  "answers": "DealComplianceSpotDelivery@1",
  "value": {
    "dealId": "dealCompliance_a0e13cab",
    "workflow": "workflow-82262f1d",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_3a6ad80d",
    "buyerId": "party_10d1152a",
    "sellerId": "party_db701206",
    "dealerOfRecordId": "dealer_9fa51444",
    "authority": "mandate_169df715",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "dealCompliance_a0e13cab",
    "workflow": "workflow-82262f1d",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_3a6ad80d",
    "buyerId": "party_10d1152a",
    "sellerId": "party_db701206",
    "dealerOfRecordId": "dealer_9fa51444",
    "authority": "mandate_169df715",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "deal-compliance-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Data model

The record shape behind this noun — one entity, each property an evidence field. See the whole estate model on the data model page.

Deal

Modeled

The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 2 diagrams, rendered from the estate model.

DealCompliance · Class model

DealCompliance · Sequence


Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.