docs.vin

rebate

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

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

Identity

Nounrebate
PillarData (facets: 3 data · 1 services · 2 commerce)
Capabilities6 — 0 live · 6 sandbox · 0 declared
EntitiesDeal
Doorsaggregator.vin
SDKVin.rebate.* from apis.vin
Address/catalog/rebate#{action} — the anchor IS the wire name minus rebate.

Events

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

Discover & read

lookup

rebate.lookup · GET /rebates/lookup · gate none · sandbox · answers RebateLookup@1

FieldTypeRequiredNotes
vinstringno

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

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

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.200Z · HTTP 200
{
  "type": "OK",
  "answers": "RebateLookup@1",
  "value": {
    "dealId": "rebate_89b2442d",
    "workflow": "workflow-0b667543",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_9b7a84e3",
    "buyerId": "party_00c8f2f0",
    "sellerId": "party_eea93b90",
    "dealerOfRecordId": "dealer_a2de8fa2",
    "authority": "mandate_41ee8cbb",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "rebate_89b2442d",
    "workflow": "workflow-0b667543",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_9b7a84e3",
    "buyerId": "party_00c8f2f0",
    "sellerId": "party_eea93b90",
    "dealerOfRecordId": "dealer_a2de8fa2",
    "authority": "mandate_41ee8cbb",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "rebate-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Apply & book

apply

rebate.apply · POST /rebates/apply · gate offer · sandbox · answers RebateApply@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) · /1FTBR3X87LKA53315 (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.

EmitsRebate.applied@1 · Rebate.failed@1.

the SDK — rebate.apply
import { rebate } from 'apis.vin'

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

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.197Z · HTTP 200
{
  "type": "OK",
  "answers": "RebateApply@1",
  "value": {
    "rebateRef": "RBT-05S0UAA",
    "vin": "1FTBR3X87LKA53315",
    "state": "applied",
    "amount": {
      "amount": "1480.00",
      "currency": "USD"
    },
    "appliedTo": "cap-cost",
    "asOf": "2026-08-10"
  },
  "evidence": {
    "rebateRef": "RBT-05S0UAA",
    "vin": "1FTBR3X87LKA53315",
    "state": "applied",
    "amount": {
      "amount": "1480.00",
      "currency": "USD"
    },
    "appliedTo": "cap-cost",
    "asOf": "2026-08-10"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "market-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

assign

rebate.assign · POST /rebates/assign · gate offer · sandbox · answers RebateAssign@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) · /1FTBR3X87LKA53315 (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.

EmitsRebate.assigned@1.

the SDK — rebate.assign
import { rebate } from 'apis.vin'

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

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.199Z · HTTP 200
{
  "type": "OK",
  "answers": "RebateAssign@1",
  "value": {
    "dealId": "rebate_e26836ca",
    "workflow": "workflow-f428d7f0",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_52f5715a",
    "buyerId": "party_9221aeed",
    "sellerId": "party_a70cdd23",
    "dealerOfRecordId": "dealer_d29a2119",
    "authority": "mandate_f3530e9e",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "rebate_e26836ca",
    "workflow": "workflow-f428d7f0",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_52f5715a",
    "buyerId": "party_9221aeed",
    "sellerId": "party_a70cdd23",
    "dealerOfRecordId": "dealer_d29a2119",
    "authority": "mandate_f3530e9e",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "rebate-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

claim

rebate.claim · POST /rebates/claim · gate offer · sandbox · answers RebateClaim@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) · /1FTBR3X87LKA53315 (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.

EmitsRebate.claimFiled@1 · Rebate.failed@1.

the SDK — rebate.claim
import { rebate } from 'apis.vin'

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

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.199Z · HTTP 200
{
  "type": "OK",
  "answers": "RebateClaim@1",
  "value": {
    "dealId": "rebate_5d6b457e",
    "workflow": "workflow-c49c2a64",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_c0f33dde",
    "buyerId": "party_3f12ca21",
    "sellerId": "party_0562189f",
    "dealerOfRecordId": "dealer_9d6f532d",
    "authority": "mandate_23c47e0a",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "rebate_5d6b457e",
    "workflow": "workflow-c49c2a64",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_c0f33dde",
    "buyerId": "party_3f12ca21",
    "sellerId": "party_0562189f",
    "dealerOfRecordId": "dealer_9d6f532d",
    "authority": "mandate_23c47e0a",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "rebate-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

stack

rebate.stack · GET /rebates/stack · gate key · sandbox · answers RebateStack@1

FieldTypeRequiredNotes
vinstringno

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

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

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.201Z · HTTP 200
{
  "type": "OK",
  "answers": "RebateStack@1",
  "value": {
    "dealId": "rebate_74ffb9ba",
    "workflow": "workflow-caca6e80",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_cd333aca",
    "buyerId": "party_f4149d1d",
    "sellerId": "party_5dafb313",
    "dealerOfRecordId": "dealer_56921e69",
    "authority": "mandate_20f3558e",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "rebate_74ffb9ba",
    "workflow": "workflow-caca6e80",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_cd333aca",
    "buyerId": "party_f4149d1d",
    "sellerId": "party_5dafb313",
    "dealerOfRecordId": "dealer_56921e69",
    "authority": "mandate_20f3558e",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "rebate-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

taxTreatment

rebate.taxTreatment · GET /rebates/tax-treatment · gate key · sandbox · answers RebateTaxTreatment@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await rebate.taxTreatment({"vin":"1FTBR3X87LKA53315"})
GET /rebates/tax-treatment
curl 'https://apis.vin/rebates/tax-treatment?vin=1FTBR3X87LKA53315'

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.201Z · HTTP 200
{
  "type": "OK",
  "answers": "RebateTaxTreatment@1",
  "value": {
    "dealId": "rebate_e1588342",
    "workflow": "workflow-c034e048",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_4907c3a2",
    "buyerId": "party_647b0095",
    "sellerId": "party_0ad3082b",
    "dealerOfRecordId": "dealer_a703acf1",
    "authority": "mandate_bc022466",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "evidence": {
    "dealId": "rebate_e1588342",
    "workflow": "workflow-c034e048",
    "dealType": "Deal-01",
    "vehicleId": "vehicle_4907c3a2",
    "buyerId": "party_647b0095",
    "sellerId": "party_0ad3082b",
    "dealerOfRecordId": "dealer_a703acf1",
    "authority": "mandate_bc022466",
    "structure": "Deal-01",
    "state": "Deal-01",
    "correlationId": "W0-EVT-01",
    "dependsOn": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "rebate-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. 5 diagrams, rendered from the estate model.

Rebate · Class model

Rebate · Class model

Rebate · State machine

Rebate · State machine

Rebate · Sequence


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