buyback
The buyback noun — identity, lifecycle, events, and every capability as an anchored section: 5 capabilities, 0 live, 5 sandbox, 0 declared.
buyback is one of the estate's 317 automotive nouns — a job a car needs done. It carries 5 capabilities: 0 live, 5 sandbox, 0 declared · doors aggregator.vin.
Identity
| Noun | buyback |
| Pillar | Services (facets: 1 data · 2 services · 2 commerce) |
| Capabilities | 5 — 0 live · 5 sandbox · 0 declared |
| Entities | Deal |
| Doors | aggregator.vin |
| SDK | Vin.buyback.* from apis.vin |
| Address | /catalog/buyback#{action} — the anchor IS the wire name minus buyback. |
Events
The vocabulary this noun can append to the record — 5 past-tense, versioned event types, each linked to the capability that emits it:
Buyback.reacquiredBranded@1— emitted byreacquiredBrandBuyback.reacquiredDisclosed@1— emitted byreacquiredDiscloseBuyback.replacementProvided@1— emitted byreplacementVehicleBuyback.repurchased@1— emitted byrepurchaseBuyback.warrantyReinstated@1— emitted bywarrantyReinstate
Pay & settle
repurchase
buyback.repurchase · POST /buybacks/repurchase · gate key · sandbox · answers BuybackRepurchase@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /JN1AR5BF1MM160141 (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 — Buyback.repurchased@1.
import { buyback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.repurchase()curl -X POST https://apis.vin/buybacks/repurchase \
-H 'content-type: application/json' \
-d '{}'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": "BuybackRepurchase@1",
"value": {
"vin": "1HGCM82633A004352",
"repurchaseRef": "BBK-001O",
"purchasePrice": {
"amount": "34995.00",
"currency": "USD"
},
"usageOffset": {
"amount": "1820.40",
"currency": "USD"
},
"repurchaseAmount": {
"amount": "33174.60",
"currency": "USD"
},
"reacquiredBrandRequired": true,
"titleBrand": "manufacturer-buyback",
"status": "repurchase-authorized",
"asOf": "2026-08-10"
},
"evidence": {
"vin": "1HGCM82633A004352",
"repurchaseRef": "BBK-001O",
"purchasePrice": {
"amount": "34995.00",
"currency": "USD"
},
"usageOffset": {
"amount": "1820.40",
"currency": "USD"
},
"repurchaseAmount": {
"amount": "33174.60",
"currency": "USD"
},
"reacquiredBrandRequired": true,
"titleBrand": "manufacturer-buyback",
"status": "repurchase-authorized",
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "legal-authority-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Lifecycle & state
warrantyReinstate
buyback.warrantyReinstate · POST /buybacks/warranty-reinstate · gate key · sandbox · answers BuybackWarrantyReinstate@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /JN1AR5BF1MM160141 (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 — Buyback.warrantyReinstated@1.
import { buyback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.warrantyReinstate()curl -X POST https://apis.vin/buybacks/warranty-reinstate \
-H 'content-type: application/json' \
-d '{}'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": "BuybackWarrantyReinstate@1",
"value": {
"dealId": "buyback_4c7636f7",
"workflow": "workflow-c4d0d679",
"dealType": "Deal-01",
"vehicleId": "vehicle_eff13af9",
"buyerId": "party_acaea7e6",
"sellerId": "party_45bbffaa",
"dealerOfRecordId": "dealer_edd71d20",
"authority": "mandate_23770799",
"structure": "Deal-01",
"state": "Deal-01",
"correlationId": "W0-EVT-01",
"dependsOn": []
},
"evidence": {
"dealId": "buyback_4c7636f7",
"workflow": "workflow-c4d0d679",
"dealType": "Deal-01",
"vehicleId": "vehicle_eff13af9",
"buyerId": "party_acaea7e6",
"sellerId": "party_45bbffaa",
"dealerOfRecordId": "dealer_edd71d20",
"authority": "mandate_23770799",
"structure": "Deal-01",
"state": "Deal-01",
"correlationId": "W0-EVT-01",
"dependsOn": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "buyback-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}reacquiredDisclose
buyback.reacquiredDisclose · POST /buybacks/reacquired-disclose · gate key · sandbox · answers BuybackReacquiredDisclose@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /JN1AR5BF1MM160141 (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 — Buyback.reacquiredDisclosed@1.
import { buyback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.reacquiredDisclose()curl -X POST https://apis.vin/buybacks/reacquired-disclose \
-H 'content-type: application/json' \
-d '{}'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": "BuybackReacquiredDisclose@1",
"value": {
"vin": "1HGCM82633A004352",
"disclosureRef": "BRD-001O",
"reacquiredBrand": "manufacturer-buyback",
"reacquisitionReason": "nonconformity-repurchase",
"disclosureRequired": true,
"disclosureDocumentAttached": true,
"warrantyReinstated": true,
"resaleEligible": true,
"asOf": "2026-08-10"
},
"evidence": {
"vin": "1HGCM82633A004352",
"disclosureRef": "BRD-001O",
"reacquiredBrand": "manufacturer-buyback",
"reacquisitionReason": "nonconformity-repurchase",
"disclosureRequired": true,
"disclosureDocumentAttached": true,
"warrantyReinstated": true,
"resaleEligible": true,
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "title-integrity-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
reacquiredBrand
buyback.reacquiredBrand · POST /buybacks/reacquired-brand · gate key · sandbox · answers BuybackReacquiredBrand@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /JN1AR5BF1MM160141 (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 — Buyback.reacquiredBranded@1.
import { buyback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.reacquiredBrand()curl -X POST https://apis.vin/buybacks/reacquired-brand \
-H 'content-type: application/json' \
-d '{}'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": "BuybackReacquiredBrand@1",
"value": {
"dealId": "buyback_7f71d8c9",
"workflow": "workflow-3178fd4f",
"dealType": "Deal-01",
"vehicleId": "vehicle_2f5cbebf",
"buyerId": "party_39db5a9c",
"sellerId": "party_03b9ba54",
"dealerOfRecordId": "dealer_5631fe9e",
"authority": "mandate_d56e9d0f",
"structure": "Deal-01",
"state": "Deal-01",
"correlationId": "W0-EVT-01",
"dependsOn": []
},
"evidence": {
"dealId": "buyback_7f71d8c9",
"workflow": "workflow-3178fd4f",
"dealType": "Deal-01",
"vehicleId": "vehicle_2f5cbebf",
"buyerId": "party_39db5a9c",
"sellerId": "party_03b9ba54",
"dealerOfRecordId": "dealer_5631fe9e",
"authority": "mandate_d56e9d0f",
"structure": "Deal-01",
"state": "Deal-01",
"correlationId": "W0-EVT-01",
"dependsOn": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "buyback-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}replacementVehicle
buyback.replacementVehicle · POST /buybacks/replacement-vehicle · gate key · sandbox · answers BuybackReplacementVehicle@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /JN1AR5BF1MM160141 (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 — Buyback.replacementProvided@1.
import { buyback } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.replacementVehicle()curl -X POST https://apis.vin/buybacks/replacement-vehicle \
-H 'content-type: application/json' \
-d '{}'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": "BuybackReplacementVehicle@1",
"value": {
"dealId": "buyback_7b60b688",
"workflow": "workflow-5a0f52fa",
"dealType": "Deal-01",
"vehicleId": "vehicle_8dec97d4",
"buyerId": "party_3fb7be57",
"sellerId": "party_5ee592b9",
"dealerOfRecordId": "dealer_4ca4937b",
"authority": "mandate_5db94a68",
"structure": "Deal-01",
"state": "Deal-01",
"correlationId": "W0-EVT-01",
"dependsOn": []
},
"evidence": {
"dealId": "buyback_7b60b688",
"workflow": "workflow-5a0f52fa",
"dealType": "Deal-01",
"vehicleId": "vehicle_8dec97d4",
"buyerId": "party_3fb7be57",
"sellerId": "party_5ee592b9",
"dealerOfRecordId": "dealer_4ca4937b",
"authority": "mandate_5db94a68",
"structure": "Deal-01",
"state": "Deal-01",
"correlationId": "W0-EVT-01",
"dependsOn": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "buyback-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.
Buyback · Class model
Buyback · 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.
buffPolish
The buffPolish noun — identity, lifecycle, events, and every capability as an anchored section: 9 capabilities, 0 live, 9 sandbox, 0 declared.
buyersGuide
The buyersGuide noun — identity, lifecycle, events, and every capability as an anchored section: 5 capabilities, 0 live, 5 sandbox, 0 declared.