docs.vin

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

Nounbuyback
PillarServices (facets: 1 data · 2 services · 2 commerce)
Capabilities5 — 0 live · 5 sandbox · 0 declared
EntitiesDeal
Doorsaggregator.vin
SDKVin.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:

Pay & settle

repurchase

buyback.repurchase · POST /buybacks/repurchase · gate key · sandbox · answers BuybackRepurchase@1

No input — this capability takes no request body.

Dooraggregator.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.

EmitsBuyback.repurchased@1.

the SDK — buyback.repurchase
import { buyback } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.repurchase()
POST /buybacks/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.

receipt · executed 2026-08-16T14:50:09.659Z · HTTP 200
{
  "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.

Dooraggregator.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.

EmitsBuyback.warrantyReinstated@1.

the SDK — buyback.warrantyReinstate
import { buyback } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.warrantyReinstate()
POST /buybacks/warranty-reinstate
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.

receipt · executed 2026-08-16T14:50:09.660Z · HTTP 200
{
  "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.

Dooraggregator.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.

EmitsBuyback.reacquiredDisclosed@1.

the SDK — buyback.reacquiredDisclose
import { buyback } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.reacquiredDisclose()
POST /buybacks/reacquired-disclose
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.

receipt · executed 2026-08-16T14:50:09.659Z · HTTP 200
{
  "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.

Dooraggregator.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.

EmitsBuyback.reacquiredBranded@1.

the SDK — buyback.reacquiredBrand
import { buyback } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.reacquiredBrand()
POST /buybacks/reacquired-brand
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.

receipt · executed 2026-08-16T14:50:09.659Z · HTTP 200
{
  "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.

Dooraggregator.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.

EmitsBuyback.replacementProvided@1.

the SDK — buyback.replacementVehicle
import { buyback } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await buyback.replacementVehicle()
POST /buybacks/replacement-vehicle
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.

receipt · executed 2026-08-16T14:50:09.659Z · HTTP 200
{
  "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.