docs.vin

reconciliation

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

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

Identity

Nounreconciliation
PillarData (facets: 5 data · 5 services · 3 commerce)
Capabilities13 — 0 live · 13 sandbox · 0 declared
EntitiesLedgerEvent
Doorsaggregator.vin
SDKVin.reconciliation.* from apis.vin
Address/catalog/reconciliation#{action} — the anchor IS the wire name minus reconciliation.

Events

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

Discover & read

read

reconciliation.read · GET /reconciliations/read · gate none · sandbox · answers ReconciliationRead@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GYKPMRK1RZ107013 (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 — reconciliation.read
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.read({"vin":"1GYKPMRK1RZ107013"})
GET /reconciliations/read
curl 'https://apis.vin/reconciliations/read?vin=1GYKPMRK1RZ107013'

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:16.359Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationRead@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "book": {
      "id": "LGR-2961602f",
      "controlTotals": {
        "storeUsedCents": 2375000,
        "unitPrincipalSumCents": 4396000,
        "varianceCents": 2021000
      },
      "openExceptions": 2,
      "standing": "exceptions-open",
      "ruling": "vin-ospd"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "book": {
      "id": "LGR-2961602f",
      "controlTotals": {
        "storeUsedCents": 2375000,
        "unitPrincipalSumCents": 4396000,
        "varianceCents": 2021000
      },
      "openExceptions": 2,
      "standing": "exceptions-open",
      "ruling": "vin-ospd"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

status

reconciliation.status · GET /reconciliations/status · gate none · sandbox · answers ReconciliationStatus@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GYKPMRK1RZ107013 (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 — reconciliation.status
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.status({"vin":"1GYKPMRK1RZ107013"})
GET /reconciliations/status
curl 'https://apis.vin/reconciliations/status?vin=1GYKPMRK1RZ107013'

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:16.366Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationStatus@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "book": {
      "id": "LGR-2961602f",
      "controlTotals": {
        "storeUsedCents": 2375000,
        "unitPrincipalSumCents": 4396000,
        "varianceCents": 2021000
      },
      "openExceptions": 2,
      "standing": "exceptions-open",
      "ruling": "vin-ospd"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "book": {
      "id": "LGR-2961602f",
      "controlTotals": {
        "storeUsedCents": 2375000,
        "unitPrincipalSumCents": 4396000,
        "varianceCents": 2021000
      },
      "openExceptions": 2,
      "standing": "exceptions-open",
      "ruling": "vin-ospd"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

audit

reconciliation.audit · GET /reconciliations/audit · gate key · sandbox · answers ReconciliationAudit@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GYKPMRK1RZ107013 (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 — reconciliation.audit
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.audit({"vin":"1GYKPMRK1RZ107013"})
GET /reconciliations/audit
curl 'https://apis.vin/reconciliations/audit?vin=1GYKPMRK1RZ107013'

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:16.328Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationAudit@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "audit": {
      "id": "AUD-9bb68d31",
      "laws": [
        {
          "law": "store-draw-law",
          "basis": "the floored rows listing prices summed",
          "amountCents": 2375000
        },
        {
          "law": "unit-principal-law",
          "basis": "the floored units acquisition principals summed",
          "amountCents": 4396000
        }
      ],
      "varianceCents": 2021000,
      "finding": "standing-gap-open",
      "ruling": "vin-ospd"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "audit": {
      "id": "AUD-9bb68d31",
      "laws": [
        {
          "law": "store-draw-law",
          "basis": "the floored rows listing prices summed",
          "amountCents": 2375000
        },
        {
          "law": "unit-principal-law",
          "basis": "the floored units acquisition principals summed",
          "amountCents": 4396000
        }
      ],
      "varianceCents": 2021000,
      "finding": "standing-gap-open",
      "ruling": "vin-ospd"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

match

reconciliation.match · POST /reconciliations/match · gate offer · sandbox · answers ReconciliationMatch@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.matched@1.

the SDK — reconciliation.match
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.match({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/match
curl -X POST https://apis.vin/reconciliations/match \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.352Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationMatch@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "match": {
      "status": "nothing-to-match"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "match": {
      "status": "nothing-to-match"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

disburse

reconciliation.disburse · POST /reconciliations/disburse · gate offer · sandbox · answers ReconciliationDisburse@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.disbursed@1 · Reconciliation.failed@1.

the SDK — reconciliation.disburse
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.disburse({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/disburse
curl -X POST https://apis.vin/reconciliations/disburse \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.337Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationDisburse@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "disbursement": {
      "status": "nothing-to-disburse"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "disbursement": {
      "status": "nothing-to-disburse"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

chargeback

reconciliation.chargeback · POST /reconciliations/chargeback · gate offer · sandbox · answers ReconciliationChargeback@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.chargedBack@1 · Reconciliation.failed@1.

the SDK — reconciliation.chargeback
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.chargeback({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/chargeback
curl -X POST https://apis.vin/reconciliations/chargeback \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.328Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationChargeback@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "chargeback": {
      "id": "CBK-214c3132",
      "status": "reversed",
      "entries": [
        {
          "account": "acquisition-clearing",
          "side": "debit",
          "amountCents": 1850000
        },
        {
          "account": "floorplan-principal:unit",
          "side": "credit",
          "amountCents": 1850000
        }
      ],
      "basis": "reversal-of-recorded-acquisition",
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "chargeback": {
      "id": "CBK-214c3132",
      "status": "reversed",
      "entries": [
        {
          "account": "acquisition-clearing",
          "side": "debit",
          "amountCents": 1850000
        },
        {
          "account": "floorplan-principal:unit",
          "side": "credit",
          "amountCents": 1850000
        }
      ],
      "basis": "reversal-of-recorded-acquisition",
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

netSettle

reconciliation.netSettle · POST /reconciliations/net-settle · gate offer · sandbox · answers ReconciliationNetSettle@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.failed@1 · Reconciliation.netSettled@1.

the SDK — reconciliation.netSettle
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.netSettle({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/net-settle
curl -X POST https://apis.vin/reconciliations/net-settle \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.358Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationNetSettle@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "settlement": {
      "status": "nothing-to-settle"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "settlement": {
      "status": "nothing-to-settle"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

dispute

reconciliation.dispute · POST /reconciliations/dispute · gate offer · sandbox · answers ReconciliationDispute@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.disputed@1.

the SDK — reconciliation.dispute
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.dispute({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/dispute
curl -X POST https://apis.vin/reconciliations/dispute \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.344Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationDispute@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "dispute": {
      "id": "DSP-38591917",
      "status": "dispute-opened"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "dispute": {
      "id": "DSP-38591917",
      "status": "dispute-opened"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

clear

reconciliation.clear · POST /reconciliations/clear · gate offer · sandbox · answers ReconciliationClear@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.cleared@1.

the SDK — reconciliation.clear
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.clear({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/clear
curl -X POST https://apis.vin/reconciliations/clear \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.328Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationClear@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "clear": {
      "status": "nothing-to-clear"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "clear": {
      "status": "nothing-to-clear"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Lifecycle & state

close

reconciliation.close · POST /reconciliations/close · gate offer · sandbox · answers ReconciliationClose@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.closed@1.

the SDK — reconciliation.close
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.close({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/close
curl -X POST https://apis.vin/reconciliations/close \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.334Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationClose@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "close": {
      "period": "2026-08-10",
      "status": "closed-with-open-exceptions",
      "openExceptions": 2,
      "ruling": "vin-ospd"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "close": {
      "period": "2026-08-10",
      "status": "closed-with-open-exceptions",
      "openExceptions": 2,
      "ruling": "vin-ospd"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

adjust

reconciliation.adjust · POST /reconciliations/adjust · gate offer · sandbox · answers ReconciliationAdjust@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) · /1GYKPMRK1RZ107013 (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.

EmitsReconciliation.adjusted@1.

the SDK — reconciliation.adjust
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.adjust({"vin":"1GYKPMRK1RZ107013"})
POST /reconciliations/adjust
curl -X POST https://apis.vin/reconciliations/adjust \
  -H 'content-type: application/json' \
  -d '{"vin":"1GYKPMRK1RZ107013"}'

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:16.328Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationAdjust@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "adjustment": {
      "status": "refused",
      "reason": "no-invented-balancing-figure",
      "ruling": "vin-ospd"
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "adjustment": {
      "status": "refused",
      "reason": "no-invented-balancing-figure",
      "ruling": "vin-ospd"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

exceptions

reconciliation.exceptions · GET /reconciliations/exceptions · gate key · sandbox · answers ReconciliationExceptions@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GYKPMRK1RZ107013 (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 — reconciliation.exceptions
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.exceptions({"vin":"1GYKPMRK1RZ107013"})
GET /reconciliations/exceptions
curl 'https://apis.vin/reconciliations/exceptions?vin=1GYKPMRK1RZ107013'

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:16.346Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationExceptions@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "exceptions": [
      {
        "id": "EXC-a0eb71a7",
        "vin": "1FL0TFL00RED00000",
        "kind": "figure-variance",
        "drawCents": 2375000,
        "principalCents": 1900000,
        "ruling": "vin-ospd",
        "status": "open-standing-gap"
      },
      {
        "id": "EXC-3a24b04d",
        "vin": "1FL0TL1STED000000",
        "kind": "membership-variance",
        "principalCents": 2496000,
        "ruling": "vin-ospd",
        "status": "open-standing-gap"
      }
    ],
    "openCount": 2,
    "ruling": "vin-ospd"
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "exceptions": [
      {
        "id": "EXC-a0eb71a7",
        "vin": "1FL0TFL00RED00000",
        "kind": "figure-variance",
        "drawCents": 2375000,
        "principalCents": 1900000,
        "ruling": "vin-ospd",
        "status": "open-standing-gap"
      },
      {
        "id": "EXC-3a24b04d",
        "vin": "1FL0TL1STED000000",
        "kind": "membership-variance",
        "principalCents": 2496000,
        "ruling": "vin-ospd",
        "status": "open-standing-gap"
      }
    ],
    "openCount": 2,
    "ruling": "vin-ospd"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

ledger

reconciliation.ledger · GET /reconciliations/ledger · gate key · sandbox · answers ReconciliationLedger@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GYKPMRK1RZ107013 (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 — reconciliation.ledger
import { reconciliation } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await reconciliation.ledger({"vin":"1GYKPMRK1RZ107013"})
GET /reconciliations/ledger
curl 'https://apis.vin/reconciliations/ledger?vin=1GYKPMRK1RZ107013'

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:16.347Z · HTTP 200
{
  "type": "OK",
  "answers": "ReconciliationLedger@1",
  "value": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "ledger": {
      "id": "LGR-2961602f",
      "entries": [
        {
          "id": "LE-073d18b8",
          "vin": "1FL0TFL00RED00000",
          "account": "floorplan-line:store-draw",
          "basis": "store-draw-law",
          "amountCents": 2375000,
          "currency": "USD"
        },
        {
          "id": "LE-ddd7e1d8",
          "vin": "1FL0TFL00RED00000",
          "account": "floorplan-principal:unit",
          "basis": "unit-principal-law",
          "amountCents": 1900000,
          "currency": "USD"
        },
        {
          "id": "LE-bd1de216",
          "vin": "1FL0TL1STED000000",
          "account": "floorplan-principal:unit",
          "basis": "unit-principal-law",
          "amountCents": 2496000,
          "currency": "USD"
        }
      ],
      "controlTotals": {
        "storeUsedCents": 2375000,
        "unitPrincipalSumCents": 4396000,
        "varianceCents": 2021000
      }
    }
  },
  "evidence": {
    "vin": "1GYKPMRK1RZ107013",
    "noun": "reconciliation",
    "asOf": "2026-08-10",
    "dealerId": "DLR-b9066ade",
    "ledger": {
      "id": "LGR-2961602f",
      "entries": [
        {
          "id": "LE-073d18b8",
          "vin": "1FL0TFL00RED00000",
          "account": "floorplan-line:store-draw",
          "basis": "store-draw-law",
          "amountCents": 2375000,
          "currency": "USD"
        },
        {
          "id": "LE-ddd7e1d8",
          "vin": "1FL0TFL00RED00000",
          "account": "floorplan-principal:unit",
          "basis": "unit-principal-law",
          "amountCents": 1900000,
          "currency": "USD"
        },
        {
          "id": "LE-bd1de216",
          "vin": "1FL0TL1STED000000",
          "account": "floorplan-principal:unit",
          "basis": "unit-principal-law",
          "amountCents": 2496000,
          "currency": "USD"
        }
      ],
      "controlTotals": {
        "storeUsedCents": 2375000,
        "unitPrincipalSumCents": 4396000,
        "varianceCents": 2021000
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counter-and-ledger-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.

LedgerEvent

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.

Reconciliation · Class model

Reconciliation · State machine


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