steering
The steering noun — identity, lifecycle, events, and every capability as an anchored section: 24 capabilities, 0 live, 24 sandbox, 0 declared.
steering is one of the estate's 317 automotive nouns — a job a car needs done. It carries 24 capabilities: 0 live, 24 sandbox, 0 declared · doors aggregator.vin.
Identity
| Noun | steering |
| Pillar | Data (facets: 9 data · 9 services · 6 commerce) |
| Capabilities | 24 — 0 live · 24 sandbox · 0 declared |
| Entities | RepairOrder |
| Doors | aggregator.vin |
| SDK | Vin.steering.* from apis.vin |
| Address | /catalog/steering#{action} — the anchor IS the wire name minus steering. |
Events
The vocabulary this noun can append to the record — 35 past-tense, versioned event types, each linked to the capability that emits it:
Order.placed@1— emitted byorderServiceOrder.settled@1— emitted byorder·paySteering.alignFailed@1— emitted byalignSteering.alignRequested@1— emitted byalignSteering.aligned@1— emitted byalignSteering.charged@1— emitted bypaySteering.completed@1— emitted byorderSteering.diagnosed@1— emitted bydiagnoseSteering.dispatched@1— emitted byorderSteering.estimateRequested@1— emitted byestimateSteering.estimated@1— emitted byestimateSteering.inspectRequested@1— emitted byinspectSteering.inspected@1— emitted byinspectSteering.ordered@1— emitted byorderSteering.paid@1— emitted bypaySteering.payFailed@1— emitted bypaySteering.payRequested@1— emitted bypaySteering.playMeasured@1— emitted byplayMeasureSteering.pumpReplaceFailed@1— emitted bypumpReplaceSteering.pumpReplaceRequested@1— emitted bypumpReplaceSteering.pumpReplaced@1— emitted bypumpReplaceSteering.quoted@1— emitted byquoteSteering.rackReplaceFailed@1— emitted byrackReplaceSteering.rackReplaceRequested@1— emitted byrackReplaceSteering.rackReplaced@1— emitted byrackReplaceSteering.reflashed@1— emitted byreflashSteering.refunded@1— emitted byrefundSteering.repaired@1— emitted byrepairSteering.replaced@1— emitted byreplaceSteering.tieRodReplaceFailed@1— emitted bytieRodReplaceSteering.tieRodReplaceRequested@1— emitted bytieRodReplaceSteering.tieRodReplaced@1— emitted bytieRodReplaceSteering.warrantyClaimFiled@1— emitted bywarrantyClaimWarrantyClaim.approved@1— emitted bywarrantyClaimWarrantyClaim.reimbursed@1— emitted bywarrantyClaim
Discover & read
decode
steering.decode · GET /steerings/decode · gate none · sandbox · answers SteeringDecode@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.decode({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/decode?vin=5TFLA5DB9PX127088'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": "SteeringDecode@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"component": "steering system",
"type": "electric power steering",
"turnsLockToLock": "2.7",
"tieRodSpec": "M14x1.5",
"maxPlayMm": 4
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"component": "steering system",
"type": "electric power steering",
"turnsLockToLock": "2.7",
"tieRodSpec": "M14x1.5",
"maxPlayMm": 4
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}spec
steering.spec · GET /steerings/spec · gate none · sandbox · answers SteeringSpec@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.spec({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/spec?vin=5TFLA5DB9PX127088'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": "SteeringSpec@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"component": "steering system",
"type": "electric power steering",
"turnsLockToLock": "2.7",
"tieRodSpec": "M14x1.5",
"maxPlayMm": 4
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"component": "steering system",
"type": "electric power steering",
"turnsLockToLock": "2.7",
"tieRodSpec": "M14x1.5",
"maxPlayMm": 4
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}history
steering.history · GET /steerings/history · gate none · sandbox · answers SteeringHistory@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.history({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/history?vin=5TFLA5DB9PX127088'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": "SteeringHistory@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"events": [
{
"date": "2024-03-14",
"kind": "maintenance",
"description": "scheduled steering system service"
},
{
"date": "2024-11-02",
"kind": "maintenance",
"description": "scheduled steering system service"
}
],
"count": 2
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"events": [
{
"date": "2024-03-14",
"kind": "maintenance",
"description": "scheduled steering system service"
},
{
"date": "2024-11-02",
"kind": "maintenance",
"description": "scheduled steering system service"
}
],
"count": 2
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}status
steering.status · GET /steerings/status · gate none · sandbox · answers SteeringStatus@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.status({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/status?vin=5TFLA5DB9PX127088'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": "SteeringStatus@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}healthCheck
steering.healthCheck · GET /steerings/health-check · gate none · sandbox · answers SteeringHealthCheck@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.healthCheck({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/health-check?vin=5TFLA5DB9PX127088'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": "SteeringHealthCheck@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}conditionRead
steering.conditionRead · GET /steerings/condition-read · gate none · sandbox · answers SteeringConditionRead@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.conditionRead({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/condition-read?vin=5TFLA5DB9PX127088'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": "SteeringConditionRead@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}fluidCheck
steering.fluidCheck · GET /steerings/fluid-check · gate none · sandbox · answers SteeringFluidCheck@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.fluidCheck({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/fluid-check?vin=5TFLA5DB9PX127088'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": "SteeringFluidCheck@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}playMeasure
steering.playMeasure · GET /steerings/play-measure · gate key · sandbox · answers SteeringPlayMeasure@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 — Steering.playMeasured@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.playMeasure({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/play-measure?vin=5TFLA5DB9PX127088'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": "SteeringPlayMeasure@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"measurement": "playMeasure",
"reading": 42,
"unit": "index",
"withinSpec": true
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"measurement": "playMeasure",
"reading": 42,
"unit": "index",
"withinSpec": true
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Quote & price
quote
steering.quote · POST /steerings/quote · gate offer · sandbox · answers SteeringQuote@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) · /5TFLA5DB9PX127088 (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 — Steering.quoted@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.quote({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/quote \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringQuote@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"band": "pass",
"estimateId": "EST-b8fb8530",
"laborCents": 42900,
"partsCents": 35100,
"subtotalCents": 78000,
"partSource": "aftermarket",
"currency": "USD"
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"band": "pass",
"estimateId": "EST-b8fb8530",
"laborCents": 42900,
"partsCents": 35100,
"subtotalCents": 78000,
"partSource": "aftermarket",
"currency": "USD"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}estimate
steering.estimate · POST /steerings/estimate · gate offer · sandbox · answers SteeringEstimate@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) · /5TFLA5DB9PX127088 (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 — Steering.estimateRequested@1 · Steering.estimated@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.estimate({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/estimate \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringEstimate@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"band": "pass",
"estimateId": "EST-28d72502",
"laborCents": 42900,
"partsCents": 35100,
"subtotalCents": 78000,
"partSource": "aftermarket",
"currency": "USD"
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"band": "pass",
"estimateId": "EST-28d72502",
"laborCents": 42900,
"partsCents": 35100,
"subtotalCents": 78000,
"partSource": "aftermarket",
"currency": "USD"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Apply & book
order
steering.order · POST /steerings/order · gate offer · sandbox · answers SteeringOrder@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) · /5TFLA5DB9PX127088 (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 — Order.placed@1 · ServiceOrder.settled@1 · Steering.completed@1 · Steering.dispatched@1 · Steering.ordered@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.order({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/order \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringOrder@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-556fd18c",
"operation": "order",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-556fd18c",
"operation": "order",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Pay & settle
pay
steering.pay · POST /steerings/pay · gate offer · sandbox · answers SteeringPay@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) · /5TFLA5DB9PX127088 (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 — ServiceOrder.settled@1 · Steering.charged@1 · Steering.paid@1 · Steering.payFailed@1 · Steering.payRequested@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.pay({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/pay \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringPay@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"payment": {
"id": "PAY-4236882a",
"status": "settled",
"amountCents": 39000,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"payment": {
"id": "PAY-4236882a",
"status": "settled",
"amountCents": 39000,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}refund
steering.refund · POST /steerings/refund · gate offer · sandbox · answers SteeringRefund@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) · /5TFLA5DB9PX127088 (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 — Steering.refunded@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.refund({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/refund \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringRefund@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"refund": {
"id": "RF-1802365e",
"status": "issued",
"amountCents": 7800,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"refund": {
"id": "RF-1802365e",
"status": "issued",
"amountCents": 7800,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Fulfill & operate
repair
steering.repair · POST /steerings/repair · gate offer · sandbox · answers SteeringRepair@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) · /5TFLA5DB9PX127088 (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 — Steering.repaired@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.repair({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/repair \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringRepair@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-ad1d7fa1",
"operation": "repair",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-ad1d7fa1",
"operation": "repair",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}replace
steering.replace · POST /steerings/replace · gate offer · sandbox · answers SteeringReplace@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) · /5TFLA5DB9PX127088 (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 — Steering.replaced@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.replace({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/replace \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringReplace@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-619763ec",
"operation": "replace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-619763ec",
"operation": "replace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}diagnose
steering.diagnose · POST /steerings/diagnose · gate offer · sandbox · answers SteeringDiagnose@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) · /5TFLA5DB9PX127088 (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 — Steering.diagnosed@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.diagnose({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/diagnose \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringDiagnose@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"faults": [],
"faultCount": 0
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"faults": [],
"faultCount": 0
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}inspect
steering.inspect · POST /steerings/inspect · gate offer · sandbox · answers SteeringInspect@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) · /5TFLA5DB9PX127088 (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 — Steering.inspectRequested@1 · Steering.inspected@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.inspect({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/inspect \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringInspect@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"findings": []
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}pumpReplace
steering.pumpReplace · POST /steerings/pump-replace · gate offer · sandbox · answers SteeringPumpReplace@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) · /5TFLA5DB9PX127088 (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 — Steering.pumpReplaceFailed@1 · Steering.pumpReplaceRequested@1 · Steering.pumpReplaced@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.pumpReplace({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/pump-replace \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringPumpReplace@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-d8258802",
"operation": "pumpReplace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-d8258802",
"operation": "pumpReplace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}rackReplace
steering.rackReplace · POST /steerings/rack-replace · gate offer · sandbox · answers SteeringRackReplace@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) · /5TFLA5DB9PX127088 (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 — Steering.rackReplaceFailed@1 · Steering.rackReplaceRequested@1 · Steering.rackReplaced@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.rackReplace({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/rack-replace \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringRackReplace@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-e5113a49",
"operation": "rackReplace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-e5113a49",
"operation": "rackReplace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}tieRodReplace
steering.tieRodReplace · POST /steerings/tie-rod-replace · gate offer · sandbox · answers SteeringTieRodReplace@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) · /5TFLA5DB9PX127088 (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 — Steering.tieRodReplaceFailed@1 · Steering.tieRodReplaceRequested@1 · Steering.tieRodReplaced@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.tieRodReplace({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/tie-rod-replace \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringTieRodReplace@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-5670d50d",
"operation": "tieRodReplace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-5670d50d",
"operation": "tieRodReplace",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Authorize & resolve
warrantyClaim
steering.warrantyClaim · POST /steerings/warranty-claim · gate offer · sandbox · answers SteeringWarrantyClaim@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) · /5TFLA5DB9PX127088 (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 — Steering.warrantyClaimFiled@1 · WarrantyClaim.approved@1 · WarrantyClaim.reimbursed@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.warrantyClaim({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/warranty-claim \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringWarrantyClaim@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"warranty": "active",
"claim": {
"id": "WC-dbd05d98",
"decision": "approved"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"warranty": "active",
"claim": {
"id": "WC-dbd05d98",
"decision": "approved"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}warrantyCheck
steering.warrantyCheck · GET /steerings/warranty-check · gate none · sandbox · answers SteeringWarrantyCheck@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /5TFLA5DB9PX127088 (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 { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.warrantyCheck({"vin":"5TFLA5DB9PX127088"})curl 'https://apis.vin/steerings/warranty-check?vin=5TFLA5DB9PX127088'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": "SteeringWarrantyCheck@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"warranty": "active",
"void": false,
"coverageMilesLeft": 12332
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"warranty": "active",
"void": false,
"coverageMilesLeft": 12332
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
align
steering.align · POST /steerings/align · gate offer · sandbox · answers SteeringAlign@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) · /5TFLA5DB9PX127088 (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 — Steering.alignFailed@1 · Steering.alignRequested@1 · Steering.aligned@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.align({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/align \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringAlign@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-aa159121",
"operation": "align",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-aa159121",
"operation": "align",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}reflash
steering.reflash · POST /steerings/reflash · gate offer · sandbox · answers SteeringReflash@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) · /5TFLA5DB9PX127088 (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 — Steering.reflashed@1.
import { steering } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await steering.reflash({"vin":"5TFLA5DB9PX127088"})curl -X POST https://apis.vin/steerings/reflash \
-H 'content-type: application/json' \
-d '{"vin":"5TFLA5DB9PX127088"}'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": "SteeringReflash@1",
"value": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-b3b8e899",
"operation": "reflash",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"evidence": {
"vin": "5TFLA5DB9PX127088",
"system": "steering",
"asOf": "2026-08-10",
"verdict": "pass",
"workOrder": {
"id": "WO-b3b8e899",
"operation": "reflash",
"status": "scheduled",
"costCents": 39000,
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "wear-systems-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.
RepairOrder
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.