oem
The oem noun — identity, lifecycle, events, and every capability as an anchored section: 22 capabilities, 4 live, 18 sandbox, 0 declared.
oem is one of the estate's 317 automotive nouns — a job a car needs done. It carries 22 capabilities: 4 live, 18 sandbox, 0 declared · doors oem.vin.
Identity
| Noun | oem |
| Pillar | Data (facets: 9 data · 6 services · 7 commerce) |
| Capabilities | 22 — 4 live · 18 sandbox · 0 declared |
| Entities | Oem |
| Doors | oem.vin |
| SDK | Vin.oem.* from apis.vin |
| Address | /catalog/oem#{action} — the anchor IS the wire name minus oem. |
Events
The vocabulary this noun can append to the record — 20 past-tense, versioned event types, each linked to the capability that emits it:
Allocation.accepted@1— emitted byallocateAllocation.assigned@1— emitted byallocateAllocation.declined@1— emitted byallocateBuild.configured@1— emitted byconfigureBuild.priced@1— emitted byconfigureFactoryOrder.confirmed@1— emitted byorderFactoryOrder.placed@1— emitted byorderFactoryOrder.produced@1— emitted byorderFactoryOrder.shipped@1— emitted byorderOem.credentialed@1— emitted bycredentialOem.dealerAuthorized@1— emitted byauthorizeDealerOem.failed@1— emitted byholdbackRemit·incentivePay·warrantyReimburse·wholesaleInvoiceOem.holdbackRemitted@1— emitted byholdbackRemitOem.incentivePaid@1— emitted byincentivePayOem.incentivePublished@1— emitted bypublishIncentiveOem.programPublished@1— emitted bypublishProgramOem.recallPublished@1— emitted bypublishRecallOem.registered@1— emitted byregisterOem.warrantyReimbursed@1— emitted bywarrantyReimburseOem.wholesaleInvoiced@1— emitted bywholesaleInvoice
Discover & read
lookup
oem.lookup · GET /oems/lookup · gate none · sandbox · answers OemLookup@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.lookup({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/lookup?vin=W1W4DBHY5MT050798'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": "OemLookup@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"oem": {
"wmi": "W1W",
"dealerNetwork": {
"dealerId": "DLR-b9066ade",
"authorized": true
}
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"oem": {
"wmi": "W1W",
"dealerNetwork": {
"dealerId": "DLR-b9066ade",
"authorized": true
}
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}read
oem.read · GET /oems/read · gate none · sandbox · answers OemRead@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.read({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/read?vin=W1W4DBHY5MT050798'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": "OemRead@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"oem": {
"wmi": "W1W",
"dealerNetwork": {
"dealerId": "DLR-b9066ade",
"authorized": true
}
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"oem": {
"wmi": "W1W",
"dealerNetwork": {
"dealerId": "DLR-b9066ade",
"authorized": true
}
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}recallLookup
oem.recallLookup · GET /oems/recall-lookup · gate none · live · answers OemRecallLookup@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (the VIN lens).
Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.recallLookup({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/recall-lookup?vin=W1W4DBHY5MT050798'allocate
oem.allocate · POST /oems/allocate · gate key · sandbox · answers OemAllocation@1
| Field | Type | Required | Notes |
|---|---|---|---|
dealer | string | yes | dealer ref dlr_… |
model | string | no | — |
region | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Allocation.accepted@1 · Allocation.assigned@1 · Allocation.declined@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.allocate({"dealer":"dealer"})curl -X POST https://apis.vin/oems/allocate \
-H 'content-type: application/json' \
-d '{"dealer":"dealer"}'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": "OemAllocation@1",
"value": {
"partyId": "pty_0RFY7S7",
"type": "organization",
"name": "OEM-1RT3ZBO",
"identifiers": [
{
"kind": "wmi",
"value": "1HG"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "1HGCM82633A004352",
"noun": "oem",
"asOf": "2026-08-10",
"allocation": {
"status": "no-allocation-on-file"
}
},
"evidence": {
"partyId": "pty_0RFY7S7",
"type": "organization",
"name": "OEM-1RT3ZBO",
"identifiers": [
{
"kind": "wmi",
"value": "1HG"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "1HGCM82633A004352",
"noun": "oem",
"asOf": "2026-08-10",
"allocation": {
"status": "no-allocation-on-file"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Quote & price
warrantyTerms
oem.warrantyTerms · GET /oems/warranty-terms · gate key · sandbox · answers OemWarrantyTerms@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.warrantyTerms({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/warranty-terms?vin=W1W4DBHY5MT050798'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": "OemWarrantyTerms@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"programRef": "PGM-13S3Y26",
"basicMonths": 36,
"basicMiles": 50000,
"powertrainMonths": 72,
"powertrainMiles": 60000,
"transferable": true,
"asOf": "2026-08-10"
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"programRef": "PGM-13S3Y26",
"basicMonths": 36,
"basicMiles": 50000,
"powertrainMonths": 72,
"powertrainMiles": 60000,
"transferable": true,
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "market-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Apply & book
order
oem.order · POST /oems/order · gate offer · sandbox · answers FactoryOrder@1
| Field | Type | Required | Notes |
|---|---|---|---|
configuration | string | yes | build configuration ref cfg_… |
dealer | string | no | dealer ref dlr_… |
allocation | string | no | allocation ref alo_… |
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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — FactoryOrder.confirmed@1 · FactoryOrder.placed@1 · FactoryOrder.produced@1 · FactoryOrder.shipped@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.order({"configuration":"configuration"})curl -X POST https://apis.vin/oems/order \
-H 'content-type: application/json' \
-d '{"configuration":"configuration"}'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": "FactoryOrder@1",
"value": {
"partyId": "pty_0RFY7S7",
"type": "organization",
"name": "OEM-1RT3ZBO",
"identifiers": [
{
"kind": "wmi",
"value": "1HG"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "1HGCM82633A004352",
"noun": "oem",
"asOf": "2026-08-10",
"order": {
"status": "no-factory-order-on-file"
}
},
"evidence": {
"partyId": "pty_0RFY7S7",
"type": "organization",
"name": "OEM-1RT3ZBO",
"identifiers": [
{
"kind": "wmi",
"value": "1HG"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "1HGCM82633A004352",
"noun": "oem",
"asOf": "2026-08-10",
"order": {
"status": "no-factory-order-on-file"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}register
oem.register · POST /oems/register · gate offer · sandbox · answers OemRegister@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.registered@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.register({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/register \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemRegister@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"authorization": {
"dealerId": "DLR-b9066ade",
"dealerName": "The Estate Store",
"status": "authorized"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"authorization": {
"dealerId": "DLR-b9066ade",
"dealerName": "The Estate Store",
"status": "authorized"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}credential
oem.credential · POST /oems/credential · gate offer · sandbox · answers OemCredential@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.credentialed@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.credential({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/credential \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemCredential@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"credential": {
"id": "CRD-ccbdfd7c",
"dealerId": "DLR-b9066ade",
"status": "active"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"credential": {
"id": "CRD-ccbdfd7c",
"dealerId": "DLR-b9066ade",
"status": "active"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Pay & settle
incentivePay
oem.incentivePay · POST /oems/incentive-pay · gate offer · sandbox · answers OemIncentivePay@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.failed@1 · Oem.incentivePaid@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.incentivePay({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/incentive-pay \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemIncentivePay@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"claimRef": "OEMPAY-0R0AGHE",
"programRef": "PGM-10Z04SO",
"vin": "W1W4DBHY5MT050798",
"state": "paid",
"amount": {
"amount": "407.00",
"currency": "USD"
},
"remittedTo": "DEALER-1GM5M6N",
"asOf": "2026-08-10"
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"claimRef": "OEMPAY-0R0AGHE",
"programRef": "PGM-10Z04SO",
"vin": "W1W4DBHY5MT050798",
"state": "paid",
"amount": {
"amount": "407.00",
"currency": "USD"
},
"remittedTo": "DEALER-1GM5M6N",
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "market-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}wholesaleInvoice
oem.wholesaleInvoice · POST /oems/wholesale-invoice · gate offer · sandbox · answers OemWholesaleInvoice@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.failed@1 · Oem.wholesaleInvoiced@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.wholesaleInvoice({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/wholesale-invoice \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemWholesaleInvoice@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"invoice": {
"id": "WI-d90f6af1",
"amountCents": 2534052,
"msrpCents": 2607200,
"destinationCents": 161500,
"holdbackCents": 78216,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"invoice": {
"id": "WI-d90f6af1",
"amountCents": 2534052,
"msrpCents": 2607200,
"destinationCents": 161500,
"holdbackCents": 78216,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}warrantyReimburse
oem.warrantyReimburse · POST /oems/warranty-reimburse · gate offer · sandbox · answers OemWarrantyReimburse@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.failed@1 · Oem.warrantyReimbursed@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.warrantyReimburse({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/warranty-reimburse \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemWarrantyReimburse@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"reimbursement": {
"id": "WR-465077f5",
"status": "approved",
"warranty": "active"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"reimbursement": {
"id": "WR-465077f5",
"status": "approved",
"warranty": "active"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}holdbackRemit
oem.holdbackRemit · POST /oems/holdback-remit · gate offer · sandbox · answers OemHoldbackRemit@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.failed@1 · Oem.holdbackRemitted@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.holdbackRemit({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/holdback-remit \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemHoldbackRemit@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"remittance": {
"id": "HB-53d5fa3f",
"dealerId": "DLR-b9066ade",
"amountCents": 78216,
"currency": "USD",
"status": "remitted"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"remittance": {
"id": "HB-53d5fa3f",
"dealerId": "DLR-b9066ade",
"amountCents": 78216,
"currency": "USD",
"status": "remitted"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Fulfill & operate
publishProgram
oem.publishProgram · POST /oems/publish-program · gate offer · sandbox · answers OemPublishProgram@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.programPublished@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.publishProgram({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/publish-program \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemPublishProgram@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"programRef": "PGM-1CDJE00",
"state": "published",
"programType": "loyalty",
"effectiveFrom": "2026-08-10",
"effectiveThrough": "2026-08-10",
"asOf": "2026-08-10"
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"programRef": "PGM-1CDJE00",
"state": "published",
"programType": "loyalty",
"effectiveFrom": "2026-08-10",
"effectiveThrough": "2026-08-10",
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "market-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
authorizeDealer
oem.authorizeDealer · POST /oems/authorize-dealer · gate offer · sandbox · answers OemAuthorizeDealer@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.dealerAuthorized@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.authorizeDealer({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/authorize-dealer \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemAuthorizeDealer@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"authorization": {
"dealerId": "DLR-b9066ade",
"dealerName": "The Estate Store",
"status": "authorized"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"authorization": {
"dealerId": "DLR-b9066ade",
"dealerName": "The Estate Store",
"status": "authorized"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}brand
oem.brand · GET /oems/brand · gate none · live · answers OemBrand@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (the VIN lens).
Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.brand({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/brand?vin=W1W4DBHY5MT050798'buildData
oem.buildData · GET /oems/build-data · gate key · live · answers OemBuildData@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (the VIN lens).
Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.buildData({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/build-data?vin=W1W4DBHY5MT050798'configure
oem.configure · POST /oems/configure · gate key · sandbox · answers BuildConfiguration@1
| Field | Type | Required | Notes |
|---|---|---|---|
model | string | yes | — |
trim | string | no | — |
options | array<string> | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Build.configured@1 · Build.priced@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.configure({"model":"model"})curl -X POST https://apis.vin/oems/configure \
-H 'content-type: application/json' \
-d '{"model":"model"}'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": "BuildConfiguration@1",
"value": {
"partyId": "pty_0RFY7S7",
"type": "organization",
"name": "OEM-1RT3ZBO",
"identifiers": [
{
"kind": "wmi",
"value": "1HG"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "1HGCM82633A004352",
"noun": "oem",
"asOf": "2026-08-10",
"build": {
"configId": "CFG-cc225f92",
"modelYear": 2025,
"body": "sedan",
"drivetrain": "fwd",
"msrpCents": 4452500,
"destinationCents": 131500,
"currency": "USD"
}
},
"evidence": {
"partyId": "pty_0RFY7S7",
"type": "organization",
"name": "OEM-1RT3ZBO",
"identifiers": [
{
"kind": "wmi",
"value": "1HG"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "1HGCM82633A004352",
"noun": "oem",
"asOf": "2026-08-10",
"build": {
"configId": "CFG-cc225f92",
"modelYear": 2025,
"body": "sedan",
"drivetrain": "fwd",
"msrpCents": 4452500,
"destinationCents": 131500,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}modelCatalog
oem.modelCatalog · GET /oems/model-catalog · gate none · sandbox · answers OemModelCatalog@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.modelCatalog({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/model-catalog?vin=W1W4DBHY5MT050798'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": "OemModelCatalog@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"programRef": "PGM-0BBHFYV",
"modelCount": 4,
"models": [
{
"modelRef": "MODEL-08N7OSZ",
"segment": "truck",
"baseMsrp": {
"amount": "65267.00",
"currency": "USD"
},
"trims": 3
},
{
"modelRef": "MODEL-08D8340",
"segment": "suv",
"baseMsrp": {
"amount": "70957.00",
"currency": "USD"
},
"trims": 6
},
{
"modelRef": "MODEL-0976W6X",
"segment": "sedan",
"baseMsrp": {
"amount": "26436.00",
"currency": "USD"
},
"trims": 2
},
{
"modelRef": "MODEL-08X7AHY",
"segment": "crossover",
"baseMsrp": {
"amount": "32703.00",
"currency": "USD"
},
"trims": 3
}
],
"asOf": "2026-08-10"
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"programRef": "PGM-0BBHFYV",
"modelCount": 4,
"models": [
{
"modelRef": "MODEL-08N7OSZ",
"segment": "truck",
"baseMsrp": {
"amount": "65267.00",
"currency": "USD"
},
"trims": 3
},
{
"modelRef": "MODEL-08D8340",
"segment": "suv",
"baseMsrp": {
"amount": "70957.00",
"currency": "USD"
},
"trims": 6
},
{
"modelRef": "MODEL-0976W6X",
"segment": "sedan",
"baseMsrp": {
"amount": "26436.00",
"currency": "USD"
},
"trims": 2
},
{
"modelRef": "MODEL-08X7AHY",
"segment": "crossover",
"baseMsrp": {
"amount": "32703.00",
"currency": "USD"
},
"trims": 3
}
],
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "market-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}msrp
oem.msrp · GET /oems/msrp · gate key · live · answers OemMsrp@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (the VIN lens).
Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.msrp({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/msrp?vin=W1W4DBHY5MT050798'publishIncentive
oem.publishIncentive · POST /oems/publish-incentive · gate offer · sandbox · answers OemPublishIncentive@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.incentivePublished@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.publishIncentive({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/publish-incentive \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemPublishIncentive@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"incentive": {
"id": "INC-ecfa93be",
"kind": "customer-cash",
"amountCents": 70000,
"currency": "USD",
"status": "published"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"incentive": {
"id": "INC-ecfa93be",
"kind": "customer-cash",
"amountCents": 70000,
"currency": "USD",
"status": "published"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}publishRecall
oem.publishRecall · POST /oems/publish-recall · gate offer · sandbox · answers OemPublishRecall@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 — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 — Oem.recallPublished@1.
import { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.publishRecall({"vin":"W1W4DBHY5MT050798"})curl -X POST https://apis.vin/oems/publish-recall \
-H 'content-type: application/json' \
-d '{"vin":"W1W4DBHY5MT050798"}'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": "OemPublishRecall@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"campaign": {
"id": "CAMP-ac5c5a7b",
"type": "safety-recall",
"status": "published-open",
"remedy": "inspect and replace the affected component"
}
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"campaign": {
"id": "CAMP-ac5c5a7b",
"type": "safety-recall",
"status": "published-open",
"remedy": "inspect and replace the affected component"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}tsb
oem.tsb · GET /oems/tsb · gate key · sandbox · answers OemTsb@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — oem.vin serves this noun on its two routes: / (the landing) · /W1W4DBHY5MT050798 (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 { oem } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await oem.tsb({"vin":"W1W4DBHY5MT050798"})curl 'https://apis.vin/oems/tsb?vin=W1W4DBHY5MT050798'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": "OemTsb@1",
"value": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"bulletins": [
{
"id": "TSB-ee981a2a",
"campaignId": "CAMP-ac5c5a7b",
"subject": "affected component",
"remedy": "inspect and replace the affected component"
}
]
},
"evidence": {
"partyId": "pty_119BACG",
"type": "organization",
"name": "OEM-0EI2ZAL",
"identifiers": [
{
"kind": "wmi",
"value": "W1W"
}
],
"roles": [
{
"role": "oem"
}
],
"status": "active",
"vin": "W1W4DBHY5MT050798",
"noun": "oem",
"asOf": "2026-08-10",
"bulletins": [
{
"id": "TSB-ee981a2a",
"campaignId": "CAMP-ac5c5a7b",
"subject": "affected component",
"remedy": "inspect and replace the affected component"
}
]
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "oem-factory-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.
Oem
Relationships
| From | To | Cardinality | As |
|---|---|---|---|
party | oem | ISA | is-a |
allocation | oem | *:1 | from |
Modeled
The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 4 diagrams, rendered from the estate model.
Oem · Class model
Oem · State machine
Oem · State machine
Oem · Sequence
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.