carrier
The carrier noun — identity, lifecycle, events, and every capability as an anchored section: 35 capabilities, 0 live, 35 sandbox, 0 declared.
carrier is one of the estate's 317 automotive nouns — a job a car needs done. It carries 35 capabilities: 0 live, 35 sandbox, 0 declared · doors transport.vin.
Identity
| Noun | carrier |
| Pillar | Data (facets: 13 data · 12 services · 10 commerce) |
| Capabilities | 35 — 0 live · 35 sandbox · 0 declared |
| Entities | Carrier |
| Doors | transport.vin |
| SDK | Vin.carrier.* from apis.vin |
| Address | /catalog/carrier#{action} — the anchor IS the wire name minus carrier. |
Events
The vocabulary this noun can append to the record — 43 past-tense, versioned event types, each linked to the capability that emits it:
Attachment.attached@1— emitted bypodCarrier.assignRequested@1— emitted byassignCarrier.assigned@1— emitted byassignCarrier.bondClaimFailed@1— emitted bybondClaimCarrier.bondClaimRequested@1— emitted bybondClaimCarrier.bondClaimed@1— emitted bybondClaimCarrier.booked@1— emitted bybookCarrier.checkCallRequested@1— emitted bycheckCallCarrier.checkCalled@1— emitted bycheckCallCarrier.confirmRequested@1— emitted byconfirmCarrier.confirmed@1— emitted byconfirmCarrier.contractRequested@1— emitted bycontractCarrier.contracted@1— emitted bycontractCarrier.credentialed@1— emitted bycredentialCarrier.deactivateRequested@1— emitted bydeactivateCarrier.deactivated@1— emitted bydeactivateCarrier.deductRequested@1— emitted bydeductCarrier.deducted@1— emitted bydeductCarrier.delivered@1— emitted bydeliverCarrier.detentionBilled@1— emitted bydetentionBillCarrier.dispatchFailed@1— emitted bydispatchCarrier.dispatchRequested@1— emitted bydispatchCarrier.dispatched@1— emitted bydispatchCarrier.factorRequested@1— emitted byfactorCarrier.factored@1— emitted byfactorCarrier.failed@1— emitted bybook·detentionBill·pay·quote·tenderCarrier.loadAccepted@1— emitted byacceptLoadCarrier.onboardRequested@1— emitted byonboardCarrier.onboarded@1— emitted byonboardCarrier.paid@1— emitted bypayCarrier.payFailed@1— emitted bypayCarrier.payRequested@1— emitted bypayCarrier.pickedUp@1— emitted bypickupCarrier.podCaptured@1— emitted bypodCarrier.quoted@1— emitted byquoteCarrier.registered@1— emitted byregisterCarrier.requested@1— emitted bydispatchCarrier.settleFailed@1— emitted bysettleCarrier.settleRequested@1— emitted bysettleCarrier.settled@1— emitted bysettleCarrier.tendered@1— emitted bytenderCarrierInvoice.factored@1— emitted byfactorTransport.delivered@1— emitted bypod
Discover & read
lookup
carrier.lookup · GET /carriers/lookup · gate none · sandbox · answers CarrierLookup@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.lookup({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/lookup?vin=1FMJU2A83PEA29378'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": "CarrierLookup@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"carrier": {
"id": "CARR-52e585a0",
"class": "auto-transport",
"equipment": "open",
"standing": "good"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"carrier": {
"id": "CARR-52e585a0",
"class": "auto-transport",
"equipment": "open",
"standing": "good"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}read
carrier.read · GET /carriers/read · gate none · sandbox · answers CarrierRead@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.read({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/read?vin=1FMJU2A83PEA29378'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": "CarrierRead@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"carrier": {
"id": "CARR-52e585a0",
"class": "auto-transport",
"equipment": "open",
"standing": "good"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"carrier": {
"id": "CARR-52e585a0",
"class": "auto-transport",
"equipment": "open",
"standing": "good"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}history
carrier.history · GET /carriers/history · gate none · sandbox · answers CarrierHistory@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.history({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/history?vin=1FMJU2A83PEA29378'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": "CarrierHistory@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"events": [
{
"date": "2024-03-14",
"kind": "routine",
"description": "routine carrier engagement record"
}
]
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"events": [
{
"date": "2024-03-14",
"kind": "routine",
"description": "routine carrier engagement record"
}
]
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}track
carrier.track · GET /carriers/track · gate key · sandbox · answers CarrierTrack@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.track({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/track?vin=1FMJU2A83PEA29378'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": "CarrierTrack@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"tracking": {
"status": "dispatched",
"milesRemaining": 0
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"tracking": {
"status": "dispatched",
"milesRemaining": 0
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}capacity
carrier.capacity · GET /carriers/capacity · gate none · sandbox · answers CarrierCapacity@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.capacity({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/capacity?vin=1FMJU2A83PEA29378'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": "CarrierCapacity@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"loadsPerWeek": 20,
"available": true
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"loadsPerWeek": 20,
"available": true
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}location
carrier.location · GET /carriers/location · gate none · sandbox · answers CarrierLocation@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.location({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/location?vin=1FMJU2A83PEA29378'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": "CarrierLocation@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"tracking": {
"status": "dispatched",
"milesRemaining": 0
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"tracking": {
"status": "dispatched",
"milesRemaining": 0
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}authorityCheck
carrier.authorityCheck · GET /carriers/authority-check · gate none · sandbox · answers CarrierAuthorityCheck@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.authorityCheck({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/authority-check?vin=1FMJU2A83PEA29378'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": "CarrierAuthorityCheck@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"verified": true,
"authority": "active",
"referenceNumber": "SBX-253030"
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"verified": true,
"authority": "active",
"referenceNumber": "SBX-253030"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}dotVerify
carrier.dotVerify · GET /carriers/dot-verify · gate none · sandbox · answers CarrierDotVerify@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.dotVerify({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/dot-verify?vin=1FMJU2A83PEA29378'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": "CarrierDotVerify@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"verified": true,
"authority": "active",
"referenceNumber": "SBX-412701"
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"verified": true,
"authority": "active",
"referenceNumber": "SBX-412701"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}insuranceVerify
carrier.insuranceVerify · GET /carriers/insurance-verify · gate none · sandbox · answers CarrierInsuranceVerify@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.insuranceVerify({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/insurance-verify?vin=1FMJU2A83PEA29378'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": "CarrierInsuranceVerify@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"coverage": "active",
"cargoLimitCents": 25000000,
"openClaim": false
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"coverage": "active",
"cargoLimitCents": 25000000,
"openClaim": false
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}mcVerify
carrier.mcVerify · GET /carriers/mc-verify · gate none · sandbox · answers CarrierMcVerify@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.mcVerify({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/mc-verify?vin=1FMJU2A83PEA29378'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": "CarrierMcVerify@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"verified": true,
"authority": "active",
"referenceNumber": "SBX-584232"
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"verified": true,
"authority": "active",
"referenceNumber": "SBX-584232"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}laneCoverage
carrier.laneCoverage · GET /carriers/lane-coverage · gate key · sandbox · answers CarrierLaneCoverage@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.laneCoverage({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/lane-coverage?vin=1FMJU2A83PEA29378'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": "CarrierLaneCoverage@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"coveredLanes": 9,
"regions": [
"west",
"mountain",
"central"
]
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"coveredLanes": 9,
"regions": [
"west",
"mountain",
"central"
]
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Quote & price
quote
carrier.quote · POST /carriers/quote · gate offer · sandbox · answers CarrierQuote@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.failed@1 · Carrier.quoted@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.quote({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/quote \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierQuote@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"grade": "clean",
"quote": {
"id": "CQ-6e57ea97",
"rateCents": 89500,
"equipment": "open",
"currency": "USD"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"grade": "clean",
"quote": {
"id": "CQ-6e57ea97",
"rateCents": 89500,
"equipment": "open",
"currency": "USD"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Apply & book
book
carrier.book · POST /carriers/book · gate offer · sandbox · answers CarrierBook@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.booked@1 · Carrier.failed@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.book({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/book \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierBook@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "book",
"status": "booked"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "book",
"status": "booked"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}register
carrier.register · POST /carriers/register · gate offer · sandbox · answers CarrierRegister@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.registered@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.register({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/register \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierRegister@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-5d4df580",
"step": "register",
"status": "registered"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-5d4df580",
"step": "register",
"status": "registered"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}onboard
carrier.onboard · POST /carriers/onboard · gate offer · sandbox · answers CarrierOnboard@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.onboardRequested@1 · Carrier.onboarded@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.onboard({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/onboard \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierOnboard@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-094dfcb0",
"step": "onboard",
"status": "onboarded"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-094dfcb0",
"step": "onboard",
"status": "onboarded"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}assign
carrier.assign · POST /carriers/assign · gate offer · sandbox · answers CarrierAssign@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.assignRequested@1 · Carrier.assigned@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.assign({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/assign \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierAssign@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "assign",
"status": "assigned"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "assign",
"status": "assigned"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}dispatch
carrier.dispatch · POST /carriers/dispatch · gate offer · sandbox · answers CarrierDispatch@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.dispatchFailed@1 · Carrier.dispatchRequested@1 · Carrier.dispatched@1 · Carrier.requested@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.dispatch({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/dispatch \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierDispatch@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "dispatch",
"status": "dispatched"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "dispatch",
"status": "dispatched"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}credential
carrier.credential · POST /carriers/credential · gate offer · sandbox · answers CarrierCredential@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.credentialed@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.credential({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/credential \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierCredential@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-90c095b8",
"step": "credential",
"status": "credentialed"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-90c095b8",
"step": "credential",
"status": "credentialed"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Pay & settle
pay
carrier.pay · POST /carriers/pay · gate offer · sandbox · answers CarrierPay@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.failed@1 · Carrier.paid@1 · Carrier.payFailed@1 · Carrier.payRequested@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.pay({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/pay \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierPay@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"payment": {
"id": "PAY-2fd65949",
"status": "settled",
"amountCents": 89500,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"payment": {
"id": "PAY-2fd65949",
"status": "settled",
"amountCents": 89500,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}settle
carrier.settle · POST /carriers/settle · gate offer · sandbox · answers CarrierSettle@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.settleFailed@1 · Carrier.settleRequested@1 · Carrier.settled@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.settle({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/settle \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierSettle@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"payment": {
"id": "PAY-32dbb93a",
"status": "settled",
"amountCents": 89500,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"payment": {
"id": "PAY-32dbb93a",
"status": "settled",
"amountCents": 89500,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}detentionBill
carrier.detentionBill · POST /carriers/detention-bill · gate offer · sandbox · answers CarrierDetentionBill@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.detentionBilled@1 · Carrier.failed@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.detentionBill({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/detention-bill \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierDetentionBill@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"bill": {
"id": "DB-92209fbb",
"kind": "detention",
"amountCents": 7500,
"currency": "USD",
"status": "issued"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"bill": {
"id": "DB-92209fbb",
"kind": "detention",
"amountCents": 7500,
"currency": "USD",
"status": "issued"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Fulfill & operate
deliver
carrier.deliver · POST /carriers/deliver · gate offer · sandbox · answers CarrierDeliver@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.delivered@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.deliver({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/deliver \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierDeliver@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"status": "delivery-pending"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"status": "delivery-pending"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}confirm
carrier.confirm · POST /carriers/confirm · gate offer · sandbox · answers CarrierConfirm@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.confirmRequested@1 · Carrier.confirmed@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.confirm({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/confirm \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierConfirm@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-2ff8dd0f",
"step": "confirm",
"status": "confirmed"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-2ff8dd0f",
"step": "confirm",
"status": "confirmed"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Authorize & resolve
bondClaim
carrier.bondClaim · POST /carriers/bond-claim · gate offer · sandbox · answers CarrierBondClaim@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.bondClaimFailed@1 · Carrier.bondClaimRequested@1 · Carrier.bondClaimed@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.bondClaim({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/bond-claim \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierBondClaim@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"claim": {
"status": "no-claim",
"amountCents": 0,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"claim": {
"status": "no-claim",
"amountCents": 0,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Lifecycle & state
deactivate
carrier.deactivate · POST /carriers/deactivate · gate offer · sandbox · answers CarrierDeactivate@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.deactivateRequested@1 · Carrier.deactivated@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.deactivate({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/deactivate \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierDeactivate@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-98d9f793",
"status": "deactivated"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-98d9f793",
"status": "deactivated"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
acceptLoad
carrier.acceptLoad · POST /carriers/accept-load · gate offer · sandbox · answers CarrierAcceptLoad@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.loadAccepted@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.acceptLoad({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/accept-load \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierAcceptLoad@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "acceptLoad",
"status": "accepted"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "acceptLoad",
"status": "accepted"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}checkCall
carrier.checkCall · POST /carriers/check-call · gate offer · sandbox · answers CarrierCheckCall@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.checkCallRequested@1 · Carrier.checkCalled@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.checkCall({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/check-call \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierCheckCall@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"tracking": {
"status": "dispatched",
"milesRemaining": 0
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"tracking": {
"status": "dispatched",
"milesRemaining": 0
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}contract
carrier.contract · POST /carriers/contract · gate offer · sandbox · answers CarrierContract@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.contractRequested@1 · Carrier.contracted@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.contract({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/contract \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierContract@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-1a3d4fc3",
"step": "contract",
"status": "contracted"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"enrollment": {
"id": "EN-1a3d4fc3",
"step": "contract",
"status": "contracted"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}deduct
carrier.deduct · POST /carriers/deduct · gate offer · sandbox · answers CarrierDeduct@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.deductRequested@1 · Carrier.deducted@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.deduct({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/deduct \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierDeduct@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"deduction": {
"id": "DD-024ce912",
"amountCents": 4500,
"currency": "USD",
"status": "applied"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"deduction": {
"id": "DD-024ce912",
"amountCents": 4500,
"currency": "USD",
"status": "applied"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}factor
carrier.factor · POST /carriers/factor · gate offer · sandbox · answers CarrierFactoring@1
| Field | Type | Required | Notes |
|---|---|---|---|
orderId | string | yes | — |
carrier | string | yes | supply-side party |
invoiceAmount | string | no | — |
authority | 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.
Delegated calls require a typed Mandate — { ceiling, perAction, expires, tripwires }; the ceiling is a field, not a conversation.
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.factorRequested@1 · Carrier.factored@1 · CarrierInvoice.factored@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.factor({"orderId":"orderid","carrier":"carrier"})curl -X POST https://apis.vin/carriers/factor \
-H 'content-type: application/json' \
-d '{"orderId":"orderid","carrier":"carrier"}'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": "CarrierFactoring@1",
"value": {
"vin": "1HGCM82633A004352",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-11cec4f7",
"phase": "Booked",
"factoring": {
"id": "FC-f40eb4ad",
"advancePct": 97,
"amountCents": 86815,
"currency": "USD",
"status": "advanced"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "1HGCM82633A004352",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-11cec4f7",
"phase": "Booked",
"factoring": {
"id": "FC-f40eb4ad",
"advancePct": 97,
"amountCents": 86815,
"currency": "USD",
"status": "advanced"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}pickup
carrier.pickup · POST /carriers/pickup · gate offer · sandbox · answers CarrierPickup@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.pickedUp@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.pickup({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/pickup \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierPickup@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"status": "pickup-scheduled"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"status": "pickup-scheduled"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}pod
carrier.pod · POST /carriers/pod · gate key · sandbox · answers ProofOfDelivery@1
| Field | Type | Required | Notes |
|---|---|---|---|
orderId | string | yes | — |
signature | string | no | — |
photos | array<string> | no | — |
condition | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Attachment.attached@1 · Carrier.podCaptured@1 · Transport.delivered@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.pod({"orderId":"orderid"})curl -X POST https://apis.vin/carriers/pod \
-H 'content-type: application/json' \
-d '{"orderId":"orderid"}'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": "ProofOfDelivery@1",
"value": {
"vin": "1HGCM82633A004352",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-11cec4f7",
"phase": "Booked",
"pod": {
"available": false,
"reason": "not-yet-delivered"
}
},
"evidence": {
"vin": "1HGCM82633A004352",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-11cec4f7",
"phase": "Booked",
"pod": {
"available": false,
"reason": "not-yet-delivered"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}rating
carrier.rating · GET /carriers/rating · gate key · sandbox · answers CarrierRating@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.rating({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/rating?vin=1FMJU2A83PEA29378'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": "CarrierRating@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"score": 85,
"outOf": 100
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"score": 85,
"outOf": 100
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}safetyRating
carrier.safetyRating · GET /carriers/safety-rating · gate none · sandbox · answers CarrierSafetyRating@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.safetyRating({"vin":"1FMJU2A83PEA29378"})curl 'https://apis.vin/carriers/safety-rating?vin=1FMJU2A83PEA29378'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": "CarrierSafetyRating@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"rating": "satisfactory"
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"rating": "satisfactory"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}tender
carrier.tender · POST /carriers/tender · gate offer · sandbox · answers CarrierTender@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 — transport.vin serves this noun on its two routes: / (the landing) · /1FMJU2A83PEA29378 (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 — Carrier.failed@1 · Carrier.tendered@1.
import { carrier } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await carrier.tender({"vin":"1FMJU2A83PEA29378"})curl -X POST https://apis.vin/carriers/tender \
-H 'content-type: application/json' \
-d '{"vin":"1FMJU2A83PEA29378"}'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": "CarrierTender@1",
"value": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "tender",
"status": "tendered"
}
},
"evidence": {
"vin": "1FMJU2A83PEA29378",
"noun": "carrier",
"asOf": "2026-08-10",
"carrierId": "CARR-52e585a0",
"phase": "Dispatched",
"load": {
"id": "LD-0ed185a9",
"action": "tender",
"status": "tendered"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "counterparty-logistics-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.
Carrier
Schema
| Property | Type |
|---|---|
dot | string |
mc | string |
Relationships
| From | To | Cardinality | As |
|---|---|---|---|
transport | carrier | *:1 | carried by |
party | carrier | ISA | is-a |
Modeled
The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 6 diagrams, rendered from the estate model.
Carrier · Class model
Carrier · State machine
Carrier · Sequence
Carrier · Class model
Carrier · State machine
Carrier · State machine
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.
capital
The capital noun — identity, lifecycle, events, and every capability as an anchored section: 4 capabilities, 0 live, 4 sandbox, 0 declared.
carrierFeed
The carrierFeed noun — identity, lifecycle, events, and every capability as an anchored section: 13 capabilities, 0 live, 13 sandbox, 0 declared.