record
The record noun — identity, lifecycle, events, and every capability as an anchored section: 11 capabilities, 0 live, 11 sandbox, 0 declared.
record is one of the estate's 317 automotive nouns — a job a car needs done. It carries 11 capabilities: 0 live, 11 sandbox, 0 declared · doors records.vin · aggregator.vin.
Identity
| Noun | record |
| Pillar | Services (facets: 4 data · 5 services · 2 commerce) |
| Capabilities | 11 — 0 live · 11 sandbox · 0 declared |
| Entities | VehicleRecord |
| Doors | aggregator.vin · records.vin |
| SDK | Vin.record.* from apis.vin |
| Address | /catalog/record#{action} — the anchor IS the wire name minus record. |
Events
The vocabulary this noun can append to the record — 10 past-tense, versioned event types, each linked to the capability that emits it:
Fact.asserted@1— emitted byattestRecord.asserted@1— emitted byassertRecord.attested@1— emitted byattestRecord.charged@1— emitted bypayRecord.contributed@1— emitted bycontributeRecord.corrected@1— emitted bycorrectRecord.exported@1— emitted byexportRecord.feeCharged@1— emitted byfeeRecord.reindexed@1— emitted byreindexServiceOrder.settled@1— emitted bypay
Discover & read
get
record.get · GET /records/get · gate none · sandbox · answers VehicleRecord@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | yes | — |
select | array<string> | no | — |
asOf | string | no | format date-time |
Door — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.get({"vin":"1GTW7AFP1S1191120"})curl 'https://apis.vin/records/get?vin=1GTW7AFP1S1191120'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": "VehicleRecord@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"record": {
"id": "VR-b6c3dad4",
"vin": "1GTW7AFP1S1191120",
"asOf": "2026-08-10",
"facets": [
{
"facet": "title",
"value": "clean",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "odometer",
"value": "76696",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "ownership",
"value": "4-owners",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "accident",
"value": "none-reported",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "lien",
"value": "perfected",
"observedAt": "2026-08-10",
"confidence": "high",
"source": "title-registry"
},
{
"facet": "service",
"value": "3-visits-on-file",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "service-network"
}
]
},
"basis": "one-world-record"
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"record": {
"id": "VR-b6c3dad4",
"vin": "1GTW7AFP1S1191120",
"asOf": "2026-08-10",
"facets": [
{
"facet": "title",
"value": "clean",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "odometer",
"value": "76696",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "ownership",
"value": "4-owners",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "accident",
"value": "none-reported",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "history-source"
},
{
"facet": "lien",
"value": "perfected",
"observedAt": "2026-08-10",
"confidence": "high",
"source": "title-registry"
},
{
"facet": "service",
"value": "3-visits-on-file",
"observedAt": "2026-08-10",
"confidence": "medium",
"source": "service-network"
}
]
},
"basis": "one-world-record"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}verify
record.verify · GET /records/verify · gate none · sandbox · answers RecordVerify@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.verify({"vin":"1GTW7AFP1S1191120"})curl 'https://apis.vin/records/verify?vin=1GTW7AFP1S1191120'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": "RecordVerify@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"verification": {
"verified": true,
"recordId": "VR-b6c3dad4",
"contentHash": "ff58b7b3",
"facetCount": 6
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"verification": {
"verified": true,
"recordId": "VR-b6c3dad4",
"contentHash": "ff58b7b3",
"facetCount": 6
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}auditLookup
record.auditLookup · GET /records/audit-lookup · gate none · sandbox · answers RecordAuditLookup@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.auditLookup({"vin":"1GTW7AFP1S1191120"})curl 'https://apis.vin/records/audit-lookup?vin=1GTW7AFP1S1191120'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": "RecordAuditLookup@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"audit": [
{
"date": "2026-08-03",
"actor": "records-clerk",
"action": "read"
},
{
"date": "2026-07-11",
"actor": "records-clerk",
"action": "reindex"
}
]
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"audit": [
{
"date": "2026-08-03",
"actor": "records-clerk",
"action": "read"
},
{
"date": "2026-07-11",
"actor": "records-clerk",
"action": "reindex"
}
]
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Quote & price
fee
record.fee · POST /records/fee · gate offer · sandbox · answers RecordFee@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 — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.feeCharged@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.fee({"vin":"1GTW7AFP1S1191120"})curl -X POST https://apis.vin/records/fee \
-H 'content-type: application/json' \
-d '{"vin":"1GTW7AFP1S1191120"}'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": "RecordFee@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"fee": {
"amountCents": 1500,
"currency": "USD",
"basis": "posted-cabinet-fee-sheet"
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"fee": {
"amountCents": 1500,
"currency": "USD",
"basis": "posted-cabinet-fee-sheet"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Pay & settle
pay
record.pay · POST /records/pay · gate offer · sandbox · answers RecordPay@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 — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.charged@1 · ServiceOrder.settled@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.pay({"vin":"1GTW7AFP1S1191120"})curl -X POST https://apis.vin/records/pay \
-H 'content-type: application/json' \
-d '{"vin":"1GTW7AFP1S1191120"}'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": "RecordPay@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"payment": {
"id": "PAY-e54d213e",
"status": "settled",
"amountCents": 1500,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"payment": {
"id": "PAY-e54d213e",
"status": "settled",
"amountCents": 1500,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Authorize & resolve
attest
record.attest · POST /records/attest · gate key · sandbox · answers Attestation@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | yes | — |
facet | string | yes | — |
value | any | yes | — |
source | string | yes | attesting-authority abstraction, never a vendor name |
predicate | string | no | one of is, has, was |
Door — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Fact.asserted@1 · Record.attested@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.attest({"vin":"1GTW7AFP1S1191120","facet":"facet","value":"value","source":"source"})curl -X POST https://apis.vin/records/attest \
-H 'content-type: application/json' \
-d '{"vin":"1GTW7AFP1S1191120","facet":"facet","value":"value","source":"source"}'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": "Attestation@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"attestation": {
"recordId": "VR-b6c3dad4",
"contentHash": "ff58b7b3",
"facetCount": 6,
"attestedAt": "2026-08-10"
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"attestation": {
"recordId": "VR-b6c3dad4",
"contentHash": "ff58b7b3",
"facetCount": 6,
"attestedAt": "2026-08-10"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
assert
record.assert · POST /records/assert · gate offer · sandbox · answers RecordAssert@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 — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.asserted@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.assert({"vin":"1GTW7AFP1S1191120"})curl -X POST https://apis.vin/records/assert \
-H 'content-type: application/json' \
-d '{"vin":"1GTW7AFP1S1191120"}'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": "RecordAssert@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"intake": {
"status": "accepted-pending-verification",
"id": "EVD-d931ff5c",
"recordId": "VR-b6c3dad4",
"facet": "odometer",
"grading": "evidence-graded-never-asserted"
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"intake": {
"status": "accepted-pending-verification",
"id": "EVD-d931ff5c",
"recordId": "VR-b6c3dad4",
"facet": "odometer",
"grading": "evidence-graded-never-asserted"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}contribute
record.contribute · POST /records/contribute · gate offer · sandbox · answers RecordContribute@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 — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.contributed@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.contribute({"vin":"1GTW7AFP1S1191120"})curl -X POST https://apis.vin/records/contribute \
-H 'content-type: application/json' \
-d '{"vin":"1GTW7AFP1S1191120"}'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": "RecordContribute@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"intake": {
"status": "accepted-pending-verification",
"id": "EVD-d931ff5c",
"recordId": "VR-b6c3dad4",
"facet": "odometer",
"grading": "evidence-graded-never-asserted"
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"intake": {
"status": "accepted-pending-verification",
"id": "EVD-d931ff5c",
"recordId": "VR-b6c3dad4",
"facet": "odometer",
"grading": "evidence-graded-never-asserted"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}correct
record.correct · POST /records/correct · gate key · sandbox · answers RecordCorrect@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.corrected@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.correct()curl -X POST https://apis.vin/records/correct \
-H 'content-type: application/json' \
-d '{}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "RecordCorrect@1",
"value": {
"vin": "1HGCM82633A004352",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-4e0a358b",
"correction": {
"status": "correction-filed",
"caseId": "RC-413c2211",
"facet": "odometer"
}
},
"evidence": {
"vin": "1HGCM82633A004352",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-4e0a358b",
"correction": {
"status": "correction-filed",
"caseId": "RC-413c2211",
"facet": "odometer"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}export
record.export · POST /records/export · gate key · sandbox · answers RecordExport@1
No input — this capability takes no request body.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.exported@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.export()curl -X POST https://apis.vin/records/export \
-H 'content-type: application/json' \
-d '{}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "RecordExport@1",
"value": {
"vin": "1HGCM82633A004352",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-4e0a358b",
"export": {
"format": "evidence-bundle",
"recordId": "VR-4e0a358b",
"facetCount": 6,
"contentHash": "4236dd4e"
}
},
"evidence": {
"vin": "1HGCM82633A004352",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-4e0a358b",
"export": {
"format": "evidence-bundle",
"recordId": "VR-4e0a358b",
"facetCount": 6,
"contentHash": "4236dd4e"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}reindex
record.reindex · POST /records/reindex · gate offer · sandbox · answers RecordReindex@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 — records.vin serves this noun on its two routes: / (the landing) · /1GTW7AFP1S1191120 (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 — Record.reindexed@1.
import { record } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await record.reindex({"vin":"1GTW7AFP1S1191120"})curl -X POST https://apis.vin/records/reindex \
-H 'content-type: application/json' \
-d '{"vin":"1GTW7AFP1S1191120"}'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": "RecordReindex@1",
"value": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"reindex": {
"status": "reindexed",
"recordId": "VR-b6c3dad4",
"facetCount": 6
}
},
"evidence": {
"vin": "1GTW7AFP1S1191120",
"noun": "record",
"asOf": "2026-08-10",
"recordId": "VR-b6c3dad4",
"reindex": {
"status": "reindexed",
"recordId": "VR-b6c3dad4",
"facetCount": 6
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "records-cabinet-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.
VehicleRecord
Schema
| Property | Type | Notes |
|---|---|---|
vin | string | — |
asOf | datetime | bitemporal |
facets | EvidenceStatement[] | — |
Modeled
The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 5 diagrams, rendered from the estate model.
Record · Class model
Record · State machine
Record · Sequence
Record · Class model
Record · Sequence
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.