holdback
The holdback noun — identity, lifecycle, events, and every capability as an anchored section: 7 capabilities, 0 live, 7 sandbox, 0 declared.
holdback is one of the estate's 317 automotive nouns — a job a car needs done. It carries 7 capabilities: 0 live, 7 sandbox, 0 declared · doors aggregator.vin.
Identity
| Noun | holdback |
| Pillar | Data (facets: 3 data · 3 services · 1 commerce) |
| Capabilities | 7 — 0 live · 7 sandbox · 0 declared |
| Entities | Payout |
| Doors | aggregator.vin |
| SDK | Vin.holdback.* from apis.vin |
| Address | /catalog/holdback#{action} — the anchor IS the wire name minus holdback. |
Events
The vocabulary this noun can append to the record — 5 past-tense, versioned event types, each linked to the capability that emits it:
Holdback.accrued@1— emitted byaccrueHoldback.failed@1— emitted byremitHoldback.reconciled@1— emitted byreconcileHoldback.released@1— emitted byreleaseHoldback.remitted@1— emitted byremit
Discover & read
read
holdback.read · GET /holdbacks/read · gate none · sandbox · answers HoldbackRead@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.read({"vin":"5N1DR3BA4RC201356"})curl 'https://apis.vin/holdbacks/read?vin=5N1DR3BA4RC201356'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.
{
"type": "OK",
"answers": "HoldbackRead@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"holdback": {
"amountCents": 149292,
"currency": "USD",
"basis": "msrp-holdback",
"percentOfMsrp": 3,
"msrpCents": 4976400
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"holdback": {
"amountCents": 149292,
"currency": "USD",
"basis": "msrp-holdback",
"percentOfMsrp": 3,
"msrpCents": 4976400
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}eligibility
holdback.eligibility · GET /holdbacks/eligibility · gate key · sandbox · answers HoldbackEligibility@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.eligibility({"vin":"5N1DR3BA4RC201356"})curl 'https://apis.vin/holdbacks/eligibility?vin=5N1DR3BA4RC201356'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.
{
"type": "OK",
"answers": "HoldbackEligibility@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"eligibility": {
"eligible": true,
"basis": "oem-sticker-on-file",
"msrpCents": 4976400
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"eligibility": {
"eligible": true,
"basis": "oem-sticker-on-file",
"msrpCents": 4976400
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Quote & price
rate
holdback.rate · GET /holdbacks/rate · gate key · sandbox · answers HoldbackRate@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.rate({"vin":"5N1DR3BA4RC201356"})curl 'https://apis.vin/holdbacks/rate?vin=5N1DR3BA4RC201356'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.
{
"type": "OK",
"answers": "HoldbackRate@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"rate": {
"percentOfMsrp": 3,
"basis": "msrp",
"amountCents": 149292,
"msrpCents": 4976400
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"rate": {
"percentOfMsrp": 3,
"basis": "msrp",
"amountCents": 149292,
"msrpCents": 4976400
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Pay & settle
reconcile
holdback.reconcile · POST /holdbacks/reconcile · gate offer · sandbox · answers HoldbackReconcile@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
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.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
Emits — Holdback.reconciled@1.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.reconcile({"vin":"5N1DR3BA4RC201356"})curl -X POST https://apis.vin/holdbacks/reconcile \
-H 'content-type: application/json' \
-d '{"vin":"5N1DR3BA4RC201356"}'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.
{
"type": "OK",
"answers": "HoldbackReconcile@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"reconciliation": {
"status": "reconciled",
"accruedCents": 149292,
"remittedCents": 149292,
"varianceCents": 0,
"basis": "one-holdback-law"
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"reconciliation": {
"status": "reconciled",
"accruedCents": 149292,
"remittedCents": 149292,
"varianceCents": 0,
"basis": "one-holdback-law"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}remit
holdback.remit · POST /holdbacks/remit · gate offer · sandbox · answers HoldbackRemit@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
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.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
Emits — Holdback.failed@1 · Holdback.remitted@1.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.remit({"vin":"5N1DR3BA4RC201356"})curl -X POST https://apis.vin/holdbacks/remit \
-H 'content-type: application/json' \
-d '{"vin":"5N1DR3BA4RC201356"}'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.
{
"type": "OK",
"answers": "HoldbackRemit@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"remittance": {
"id": "HB-2030aab8",
"dealerId": "DLR-b9066ade",
"amountCents": 149292,
"currency": "USD",
"status": "remitted"
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"remittance": {
"id": "HB-2030aab8",
"dealerId": "DLR-b9066ade",
"amountCents": 149292,
"currency": "USD",
"status": "remitted"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Lifecycle & state
release
holdback.release · POST /holdbacks/release · gate offer · sandbox · answers HoldbackRelease@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
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.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
Emits — Holdback.released@1.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.release({"vin":"5N1DR3BA4RC201356"})curl -X POST https://apis.vin/holdbacks/release \
-H 'content-type: application/json' \
-d '{"vin":"5N1DR3BA4RC201356"}'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.
{
"type": "OK",
"answers": "HoldbackRelease@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"release": {
"id": "HB-2030aab8",
"amountCents": 149292,
"currency": "USD",
"status": "released"
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"release": {
"id": "HB-2030aab8",
"amountCents": 149292,
"currency": "USD",
"status": "released"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
accrue
holdback.accrue · POST /holdbacks/accrue · gate offer · sandbox · answers HoldbackAccrue@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
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.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5N1DR3BA4RC201356 (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.
Emits — Holdback.accrued@1.
import { holdback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await holdback.accrue({"vin":"5N1DR3BA4RC201356"})curl -X POST https://apis.vin/holdbacks/accrue \
-H 'content-type: application/json' \
-d '{"vin":"5N1DR3BA4RC201356"}'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.
{
"type": "OK",
"answers": "HoldbackAccrue@1",
"value": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"accrual": {
"id": "HBA-134436cc",
"amountCents": 149292,
"currency": "USD",
"status": "accrued",
"basis": "wholesale-invoice"
}
},
"evidence": {
"vin": "5N1DR3BA4RC201356",
"noun": "holdback",
"asOf": "2026-08-10",
"id": "PYO-b1629490",
"payeeId": "DLR-b9066ade",
"amount": {
"amountCents": 183792,
"currency": "USD",
"basis": "holdback-plus-fi-reserve",
"items": [
{
"kind": "holdback",
"amountCents": 149292,
"basis": "msrp-holdback"
},
{
"kind": "fi-reserve",
"amountCents": 34500,
"basis": "rate-spread"
}
]
},
"accrual": {
"id": "HBA-134436cc",
"amountCents": 149292,
"currency": "USD",
"status": "accrued",
"basis": "wholesale-invoice"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "treasury-desk-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.
Payout
Modeled
The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 6 diagrams, rendered from the estate model.
Holdback · Class model
Holdback · State machine
Holdback · Class model
Holdback · State machine
Holdback · State machine
Holdback · Sequence
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.
history
The history noun — identity, lifecycle, events, and every capability as an anchored section: 14 capabilities, 0 live, 14 sandbox, 0 declared.
incentive
The incentive noun — identity, lifecycle, events, and every capability as an anchored section: 16 capabilities, 5 live, 11 sandbox, 0 declared.