docs.vin

transport

The transport noun — identity, lifecycle, events, and every capability as an anchored section: 41 capabilities, 5 live, 36 sandbox, 0 declared.

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

Identity

Nountransport
PillarServices (facets: 14 data · 16 services · 11 commerce)
Capabilities41 — 5 live · 36 sandbox · 0 declared
EntitiesTransport
Doorsaggregator.vin · transport.vin
SDKVin.transport.* from apis.vin
Address/catalog/transport#{action} — the anchor IS the wire name minus transport.

Lifecycle

TransportTransportFSM: 6 states, 6 transitions — Booked · Dispatched · InTransit · Delivered · Proven · Exception. Each transition is a past-tense event on the record.

Events

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

Discover & read

history

transport.history · GET /transports/history · gate none · sandbox · answers TransportHistory@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.history
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportHistory@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "events": [
      {
        "date": "2024-03-14",
        "kind": "routine",
        "description": "routine transport move record"
      },
      {
        "date": "2024-11-02",
        "kind": "routine",
        "description": "routine transport move record"
      }
    ]
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "events": [
      {
        "date": "2024-03-14",
        "kind": "routine",
        "description": "routine transport move record"
      },
      {
        "date": "2024-11-02",
        "kind": "routine",
        "description": "routine transport move record"
      }
    ]
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

status

transport.status · GET /transports/status · gate none · sandbox · answers TransportStatus@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.status
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportStatus@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "status": "EnRoute",
    "step": "in_transit",
    "serviceType": "long-haul",
    "etaMaxDays": 1
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "status": "EnRoute",
    "step": "in_transit",
    "serviceType": "long-haul",
    "etaMaxDays": 1
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

track

transport.track · GET /transports/track · gate none · sandbox · answers TransportTrack@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.track
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportTrack@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "timeline": [
      {
        "step": "dispatched",
        "bizStep": "dispatching",
        "status": "Dispatched"
      },
      {
        "step": "picked_up",
        "bizStep": "departing",
        "status": "EnRoute"
      },
      {
        "step": "in_transit",
        "bizStep": "transporting",
        "status": "EnRoute"
      }
    ],
    "currentStatus": "EnRoute"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "timeline": [
      {
        "step": "dispatched",
        "bizStep": "dispatching",
        "status": "Dispatched"
      },
      {
        "step": "picked_up",
        "bizStep": "departing",
        "status": "EnRoute"
      },
      {
        "step": "in_transit",
        "bizStep": "transporting",
        "status": "EnRoute"
      }
    ],
    "currentStatus": "EnRoute"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

eta

transport.eta · GET /transports/eta · gate key · live · answers TransportEta@1

Promoted — earned its own page: /catalog/transport.eta (computed on every regen: live on the wire + carries its own stateSet).

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

EmitsTransport.etaUpdated@1.

the SDK — transport.eta
import { transport } from 'apis.vin'

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

capacity

transport.capacity · GET /transports/capacity · gate none · sandbox · answers TransportCapacity@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.capacity
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportCapacity@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "lanesOpen": 7,
    "loadsPerWeek": 27
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "lanesOpen": 7,
    "loadsPerWeek": 27
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

geolocate

transport.geolocate · GET /transports/geolocate · gate none · sandbox · answers TransportGeolocate@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.geolocate
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportGeolocate@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "located": true,
    "position": {
      "lat": 25.15,
      "lon": -92.85
    },
    "originZip": "90001",
    "destinationZip": "10001",
    "status": "EnRoute"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "located": true,
    "position": {
      "lat": 25.15,
      "lon": -92.85
    },
    "originZip": "90001",
    "destinationZip": "10001",
    "status": "EnRoute"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

modeCompare

transport.modeCompare · GET /transports/mode-compare · gate none · sandbox · answers TransportModeCompare@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.modeCompare
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.modeCompare({"vin":"1C4RJFN95MC841539"})
GET /transports/mode-compare
curl 'https://apis.vin/transports/mode-compare?vin=1C4RJFN95MC841539'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.682Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportModeCompare@1",
  "value": {
    "modes": [
      {
        "serviceType": "long-haul",
        "priceCents": 68877,
        "etaMaxDays": 1,
        "distanceMiles": 356
      },
      {
        "serviceType": "last-mile",
        "priceCents": 18563,
        "etaMaxDays": 1,
        "distanceMiles": 39
      },
      {
        "serviceType": "tow",
        "priceCents": 28485,
        "etaMaxDays": 1,
        "distanceMiles": 32
      },
      {
        "serviceType": "valet",
        "priceCents": 10827,
        "etaMaxDays": 1,
        "distanceMiles": 26
      }
    ],
    "currency": "USD",
    "cheapest": "valet",
    "fastest": "long-haul"
  },
  "evidence": {
    "modes": [
      {
        "serviceType": "long-haul",
        "priceCents": 68877,
        "etaMaxDays": 1,
        "distanceMiles": 356
      },
      {
        "serviceType": "last-mile",
        "priceCents": 18563,
        "etaMaxDays": 1,
        "distanceMiles": 39
      },
      {
        "serviceType": "tow",
        "priceCents": 28485,
        "etaMaxDays": 1,
        "distanceMiles": 32
      },
      {
        "serviceType": "valet",
        "priceCents": 10827,
        "etaMaxDays": 1,
        "distanceMiles": 26
      }
    ],
    "currency": "USD",
    "cheapest": "valet",
    "fastest": "long-haul"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

conditionMonitor

transport.conditionMonitor · GET /transports/condition-monitor · gate none · sandbox · answers TransportConditionMonitor@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.conditionMonitor
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.conditionMonitor()
GET /transports/condition-monitor
curl 'https://apis.vin/transports/condition-monitor'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-16T14:50:10.081Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportConditionMonitor@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "condition": "clean",
    "alerts": 0
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "condition": "clean",
    "alerts": 0
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Quote & price

quote

transport.quote · GET /transports/quote · gate none · live · answers TransportQuote@1

Promoted — earned its own page: /catalog/transport.quote (computed on every regen: live on the wire + price posted + carries its own stateSet).

FieldTypeRequiredNotes
vinstringyes
fromstringyesorigin zip
tostringyesdestination zip
productstringnoone of long-haul, last-mile, tow
enclosedbooleanno
operablebooleanno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

EmitsTransport.quoted@1.

the SDK — transport.quote
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.quote({"vin":"1C4RJFN95MC841539","from":"from","to":"to"})
GET /transports/quote
curl 'https://apis.vin/transports/quote?vin=1C4RJFN95MC841539&from=from&to=to'

rate

transport.rate · GET /transports/rate · gate key · live · answers TransportRate@1

Promoted — earned its own page: /catalog/transport.rate (computed on every regen: live on the wire + carries its own stateSet).

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

EmitsTransport.rated@1.

the SDK — transport.rate
import { transport } from 'apis.vin'

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

Apply & book

order

transport.order · POST /transports/order · gate offer · sandbox · answers TransportOrder@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsServiceOrder.settled@1 · Transport.completed@1 · Transport.dispatched@1 · Transport.ordered@1.

the SDK — transport.order
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.682Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportOrder@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "status": "Active",
    "serviceType": "long-haul",
    "priceCents": 68877,
    "currency": "USD",
    "etaMaxDays": 1,
    "expires": "2026-08-17T00:00:00.000Z"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "status": "Active",
    "serviceType": "long-haul",
    "priceCents": 68877,
    "currency": "USD",
    "etaMaxDays": 1,
    "expires": "2026-08-17T00:00:00.000Z"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

book

transport.book · POST /transports/book · gate offer · sandbox · answers TransportOrder@1

Promoted — earned its own page: /catalog/transport.book (computed on every regen: price posted + carries its own stateSet).

FieldTypeRequiredNotes
quoteIdstringyes
productstringyesone of long-haul, last-mile, tow
subjectstringnooptional deal_ to attach
authoritystringnomnd_ when delegated
pickupobjectno
dropoffobjectno

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: posted at /pricing.

Delegated calls require a typed Mandate{ ceiling, perAction, expires, tripwires }; the ceiling is a field, not a conversation.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsServiceOrder.settled@1 · Transport.booked@1 · Transport.captured@1 · Transport.completed@1 · Transport.delivered@1 · Transport.dispatched@1 · Transport.ordered@1 · Transport.requested@1.

the SDK — transport.book
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.book({"quoteId":"quoteid","product":"long-haul"})
POST /transports/book
curl -X POST https://apis.vin/transports/book \
  -H 'content-type: application/json' \
  -d '{"quoteId":"quoteid","product":"long-haul"}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-16T14:50:10.080Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportOrder@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "move": {
      "id": "TR-aded4704",
      "action": "book",
      "status": "booked",
      "rateCents": 89500,
      "currency": "USD"
    }
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "move": {
      "id": "TR-aded4704",
      "action": "book",
      "status": "booked",
      "rateCents": 89500,
      "currency": "USD"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": true
  },
  "connect": {
    "type": "OFFER",
    "kind": "connect",
    "reason": "CONNECTION_ABSENT",
    "portClass": "transport",
    "state": "absent",
    "url": "https://integrates.vin/connect/transport",
    "message": "transport.book is live via connection — certified, connect to activate: complete the transport link ceremony at https://integrates.vin/connect/transport. The credential vault (auth.vin) holds the token, and the same call answers simulated:false — activation is the token, never a deploy."
  }
}

schedule

transport.schedule · POST /transports/schedule · gate offer · sandbox · answers TransportSchedule@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.scheduleRequested@1 · Transport.scheduled@1.

the SDK — transport.schedule
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportSchedule@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "scheduled": true,
    "pickupWindow": "2026-07-18",
    "serviceType": "long-haul",
    "etaMaxDays": 1,
    "status": "Active"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "scheduled": true,
    "pickupWindow": "2026-07-18",
    "serviceType": "long-haul",
    "etaMaxDays": 1,
    "status": "Active"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

dispatch

transport.dispatch · POST /transports/dispatch · gate offer · sandbox · answers TransportDispatch@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.dispatchFailed@1 · Transport.dispatchRequested@1 · Transport.dispatched@1.

the SDK — transport.dispatch
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportDispatch@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "dispatched": true,
    "step": "dispatched",
    "bizStep": "dispatching",
    "status": "Dispatched"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "dispatched": true,
    "step": "dispatched",
    "bizStep": "dispatching",
    "status": "Dispatched"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

transport.pay · POST /transports/pay · gate offer · sandbox · answers TransportPay@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.paid@1 · Transport.payFailed@1 · Transport.payRequested@1.

the SDK — transport.pay
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.684Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportPay@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "payment": {
      "id": "PAY-9c742954",
      "status": "settled",
      "amountCents": 89500,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "payment": {
      "id": "PAY-9c742954",
      "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
  }
}

invoice

transport.invoice · POST /transports/invoice · gate offer · sandbox · answers TransportInvoice@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.invoiceFailed@1 · Transport.invoiceRequested@1 · Transport.invoiced@1.

the SDK — transport.invoice
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportInvoice@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "invoice": {
      "id": "INV-0313ca01",
      "status": "issued",
      "amountCents": 89500,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "invoice": {
      "id": "INV-0313ca01",
      "status": "issued",
      "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

transport.settle · POST /transports/settle · gate offer · sandbox · answers TransportSettle@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.settleFailed@1 · Transport.settleRequested@1 · Transport.settled@1.

the SDK — transport.settle
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportSettle@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "payment": {
      "id": "PAY-ec5384fd",
      "status": "settled",
      "amountCents": 89500,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "payment": {
      "id": "PAY-ec5384fd",
      "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
  }
}

refund

transport.refund · POST /transports/refund · gate offer · sandbox · answers TransportRefund@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.refundFailed@1 · Transport.refundRequested@1 · Transport.refunded@1.

the SDK — transport.refund
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.689Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportRefund@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "refund": {
      "id": "RFD-af8f9a58",
      "status": "issued",
      "amountCents": 0,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "refund": {
      "id": "RFD-af8f9a58",
      "status": "issued",
      "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
  }
}

chargeback

transport.chargeback · POST /transports/chargeback · gate offer · sandbox · answers TransportChargeback@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.chargebackRequested@1 · Transport.chargebacked@1.

the SDK — transport.chargeback
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportChargeback@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "chargeback": {
      "id": "CBK-5d732981",
      "status": "no-grounds",
      "amountCents": 0,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "chargeback": {
      "id": "CBK-5d732981",
      "status": "no-grounds",
      "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
  }
}

podCapture

transport.podCapture · POST /transports/pod-capture · gate offer · sandbox · answers TransportPodCapture@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.podCaptureFailed@1 · Transport.podCaptureRequested@1 · Transport.podCaptured@1.

the SDK — transport.podCapture
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.689Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportPodCapture@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "pod": {
      "captured": false,
      "reason": "not-yet-delivered"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "pod": {
      "captured": false,
      "reason": "not-yet-delivered"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

accessorialBill

transport.accessorialBill · POST /transports/accessorial-bill · gate key · sandbox · answers TransportAccessorialBill@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.accessorialBilled@1.

the SDK — transport.accessorialBill
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.accessorialBill()
POST /transports/accessorial-bill
curl -X POST https://apis.vin/transports/accessorial-bill \
  -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.

receipt · executed 2026-08-16T14:50:10.080Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportAccessorialBill@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "bill": {
      "id": "AB-d5560c4c",
      "kind": "accessorial",
      "amountCents": 4500,
      "currency": "USD",
      "status": "issued"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "bill": {
      "id": "AB-d5560c4c",
      "kind": "accessorial",
      "amountCents": 4500,
      "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
  }
}

detentionBill

transport.detentionBill · POST /transports/detention-bill · gate offer · sandbox · answers TransportDetentionBill@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.detentionBillRequested@1 · Transport.detentionBilled@1.

the SDK — transport.detentionBill
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportDetentionBill@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "bill": {
      "id": "DB-38012c26",
      "kind": "detention",
      "amountCents": 7500,
      "currency": "USD",
      "status": "issued"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "bill": {
      "id": "DB-38012c26",
      "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

transport.deliver · POST /transports/deliver · gate offer · sandbox · answers TransportDeliver@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsDeal.delivered@1 · Transport.deliverFailed@1 · Transport.deliverRequested@1 · Transport.delivered@1.

the SDK — transport.deliver
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportDeliver@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "delivered": true,
    "status": "Complete",
    "podRef": "pod:serviceorder_EMVh3MmY1dFQ"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "delivered": true,
    "status": "Complete",
    "podRef": "pod:serviceorder_EMVh3MmY1dFQ"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [
    "Deal.delivered@1",
    "Transport.delivered@1"
  ],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

hold

transport.hold · POST /transports/hold · gate offer · sandbox · answers TransportHold@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.held@1 · Transport.holdRequested@1.

the SDK — transport.hold
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportHold@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "status": "held",
      "reason": "caller-requested"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "status": "held",
      "reason": "caller-requested"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

osdClaim

transport.osdClaim · POST /transports/osd-claim · gate key · sandbox · answers TransportOsdClaim@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.osdClaimed@1.

the SDK — transport.osdClaim
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.osdClaim()
POST /transports/osd-claim
curl -X POST https://apis.vin/transports/osd-claim \
  -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.

receipt · executed 2026-08-16T14:50:10.082Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportOsdClaim@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "claim": {
      "status": "no-damage-recorded",
      "amountCents": 0,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "claim": {
      "status": "no-damage-recorded",
      "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

transfer

transport.transfer · POST /transports/transfer · gate offer · sandbox · answers TransportTransfer@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.transferFailed@1 · Transport.transferRequested@1 · Transport.transferred@1.

the SDK — transport.transfer
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportTransfer@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "operation": "transfer",
      "status": "completed"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "operation": "transfer",
      "status": "completed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

assignCarrier

transport.assignCarrier · POST /transports/assign-carrier · gate offer · sandbox · answers TransportAssignCarrier@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.assignCarrierRequested@1 · Transport.carrierAssigned@1.

the SDK — transport.assignCarrier
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportAssignCarrier@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "status": "carrier-assigned"
    },
    "carrierId": "CARR-e57fab28"
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "status": "carrier-assigned"
    },
    "carrierId": "CARR-e57fab28"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

consolidate

transport.consolidate · POST /transports/consolidate · gate offer · sandbox · answers TransportConsolidate@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.consolidateRequested@1 · Transport.consolidated@1.

the SDK — transport.consolidate
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportConsolidate@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "operation": "consolidate",
      "status": "completed"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "operation": "consolidate",
      "status": "completed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

deconsolidate

transport.deconsolidate · POST /transports/deconsolidate · gate offer · sandbox · answers TransportDeconsolidate@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.deconsolidateRequested@1 · Transport.deconsolidated@1.

the SDK — transport.deconsolidate
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.639Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportDeconsolidate@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "operation": "deconsolidate",
      "status": "completed"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "operation": "deconsolidate",
      "status": "completed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

distance

transport.distance · GET /transports/distance · gate none · live · answers TransportDistance@1

Promoted — earned its own page: /catalog/transport.distance (computed on every regen: live on the wire + carries its own stateSet).

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — transport.distance
import { transport } from 'apis.vin'

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

expedite

transport.expedite · POST /transports/expedite · gate offer · sandbox · answers TransportExpedite@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.expediteRequested@1 · Transport.expedited@1.

the SDK — transport.expedite
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportExpedite@1",
  "value": {
    "serviceType": "long-haul",
    "standard": {
      "priceCents": 68877,
      "etaMaxDays": 1
    },
    "expedited": {
      "priceCents": 92984,
      "etaMaxDays": 1
    },
    "upliftCents": 24107,
    "currency": "USD"
  },
  "evidence": {
    "serviceType": "long-haul",
    "standard": {
      "priceCents": 68877,
      "etaMaxDays": 1
    },
    "expedited": {
      "priceCents": 92984,
      "etaMaxDays": 1
    },
    "upliftCents": 24107,
    "currency": "USD"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

factor

transport.factor · POST /transports/factor · gate offer · sandbox · answers TransportFactor@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.factorRequested@1 · Transport.factored@1.

the SDK — transport.factor
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportFactor@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "factoring": {
      "id": "FC-0159ab35",
      "advancePct": 97,
      "amountCents": 86815,
      "currency": "USD",
      "status": "advanced"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "factoring": {
      "id": "FC-0159ab35",
      "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
  }
}

geofenceTrigger

transport.geofenceTrigger · POST /transports/geofence-trigger · gate key · sandbox · answers TransportGeofenceTrigger@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.geofenceTriggered@1.

the SDK — transport.geofenceTrigger
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.geofenceTrigger()
POST /transports/geofence-trigger
curl -X POST https://apis.vin/transports/geofence-trigger \
  -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.

receipt · executed 2026-08-16T14:50:10.081Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportGeofenceTrigger@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "event": {
      "kind": "no-active-trip"
    }
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "Booked",
    "event": {
      "kind": "no-active-trip"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

inspectAtDelivery

transport.inspectAtDelivery · POST /transports/inspect-at-delivery · gate offer · sandbox · answers TransportInspectAtDelivery@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.inspectedAtDelivery@1 · Transport.inspectAtDeliveryRequested@1.

the SDK — transport.inspectAtDelivery
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.inspectAtDelivery({"vin":"1C4RJFN95MC841539"})
POST /transports/inspect-at-delivery
curl -X POST https://apis.vin/transports/inspect-at-delivery \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4RJFN95MC841539"}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportInspectAtDelivery@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "inspection": {
      "point": "delivery",
      "grade": "clean",
      "damageFound": false,
      "newDamage": false
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "inspection": {
      "point": "delivery",
      "grade": "clean",
      "damageFound": false,
      "newDamage": false
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

inspectAtPickup

transport.inspectAtPickup · POST /transports/inspect-at-pickup · gate offer · sandbox · answers TransportInspectAtPickup@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.inspectAtPickupRequested@1 · Transport.inspectedAtPickup@1.

the SDK — transport.inspectAtPickup
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.inspectAtPickup({"vin":"1C4RJFN95MC841539"})
POST /transports/inspect-at-pickup
curl -X POST https://apis.vin/transports/inspect-at-pickup \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4RJFN95MC841539"}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.681Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportInspectAtPickup@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "inspection": {
      "point": "pickup",
      "grade": "clean",
      "damageFound": false,
      "newDamage": false
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "inspection": {
      "point": "pickup",
      "grade": "clean",
      "damageFound": false,
      "newDamage": false
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

pickup

transport.pickup · POST /transports/pickup · gate offer · sandbox · answers TransportPickup@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.pickupRequested@1 · Transport.pickedUp@1 · Transport.pickuped@1.

the SDK — transport.pickup
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.684Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportPickup@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "pickedUp": true,
    "step": "picked_up",
    "bizStep": "departing",
    "status": "EnRoute"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "pickedUp": true,
    "step": "picked_up",
    "bizStep": "departing",
    "status": "EnRoute"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

reroute

transport.reroute · POST /transports/reroute · gate offer · sandbox · answers TransportReroute@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsTransport.rerouteRequested@1 · Transport.rerouted@1.

the SDK — transport.reroute
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.706Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportReroute@1",
  "value": {
    "rerouted": true,
    "fromZip": "10001",
    "toZip": "60601",
    "serviceType": "long-haul",
    "priceCents": 73676,
    "currency": "USD",
    "etaMaxDays": 1,
    "distanceMiles": 435
  },
  "evidence": {
    "rerouted": true,
    "fromZip": "10001",
    "toZip": "60601",
    "serviceType": "long-haul",
    "priceCents": 73676,
    "currency": "USD",
    "etaMaxDays": 1,
    "distanceMiles": 435
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

route

transport.route · GET /transports/route · gate none · sandbox · answers TransportRoute@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.route
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.720Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportRoute@1",
  "value": {
    "serviceType": "long-haul",
    "distanceMiles": 356,
    "originZip": "90001",
    "destinationZip": "10001",
    "etaMaxDays": 1
  },
  "evidence": {
    "serviceType": "long-haul",
    "distanceMiles": 356,
    "originZip": "90001",
    "destinationZip": "10001",
    "etaMaxDays": 1
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

tender

transport.tender · POST /transports/tender · gate offer · sandbox · answers TransportTender@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (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.

EmitsServiceOrder.settled@1 · Transport.completed@1 · Transport.dispatched@1 · Transport.ordered@1.

the SDK — transport.tender
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportTender@1",
  "value": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "action": "tender",
      "status": "tendered",
      "rateCents": 89500,
      "currency": "USD"
    }
  },
  "evidence": {
    "vin": "1C4RJFN95MC841539",
    "noun": "transport",
    "asOf": "2026-08-10",
    "phase": "InTransit",
    "move": {
      "id": "TR-3d05c84f",
      "action": "tender",
      "status": "tendered",
      "rateCents": 89500,
      "currency": "USD"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "counterparty-logistics-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

trace

transport.trace · GET /transports/trace · gate none · sandbox · answers TransportTrace@1

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — transport.trace
import { transport } from 'apis.vin'

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

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-17T12:42:18.724Z · HTTP 200
{
  "type": "OK",
  "answers": "TransportTrace@1",
  "value": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "trace": [
      {
        "step": "dispatched",
        "bizStep": "dispatching",
        "event": "Transport.dispatched@1",
        "status": "Dispatched"
      },
      {
        "step": "picked_up",
        "bizStep": "departing",
        "event": "Transport.captured@1",
        "status": "EnRoute"
      },
      {
        "step": "in_transit",
        "bizStep": "transporting",
        "event": "Transport.captured@1",
        "status": "EnRoute"
      },
      {
        "step": "delivered",
        "bizStep": "receiving",
        "event": "Transport.delivered@1",
        "status": "Complete"
      }
    ],
    "currentStatus": "Complete"
  },
  "evidence": {
    "orderId": "serviceorder_EMVh3MmY1dFQ",
    "bookingNumber": "TR-1",
    "trace": [
      {
        "step": "dispatched",
        "bizStep": "dispatching",
        "event": "Transport.dispatched@1",
        "status": "Dispatched"
      },
      {
        "step": "picked_up",
        "bizStep": "departing",
        "event": "Transport.captured@1",
        "status": "EnRoute"
      },
      {
        "step": "in_transit",
        "bizStep": "transporting",
        "event": "Transport.captured@1",
        "status": "EnRoute"
      },
      {
        "step": "delivered",
        "bizStep": "receiving",
        "event": "Transport.delivered@1",
        "status": "Complete"
      }
    ],
    "currentStatus": "Complete"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "transport-rail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

transitTime

transport.transitTime · GET /transports/transit-time · gate none · live · answers TransportTransitTime@1

Promoted — earned its own page: /catalog/transport.transitTime (computed on every regen: live on the wire + carries its own stateSet).

FieldTypeRequiredNotes
vinstringno

Doortransport.vin serves this noun on its two routes: / (the landing) · /1C4RJFN95MC841539 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — transport.transitTime
import { transport } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await transport.transitTime({"vin":"1C4RJFN95MC841539"})
GET /transports/transit-time
curl 'https://apis.vin/transports/transit-time?vin=1C4RJFN95MC841539'

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.

Transport

Schema

PropertyTypeNotes
idid
subjectIdref→Deal
pickupLocation
dropoffLocation
productenumopen|enclosed
carrierIdref→Carrier
legsLeg[]
etadatetime
podref→ProofOfDelivery
statusTransportFSM

Relationships

FromToCardinalityAs
dealtransport1:0..*moved
transportcarrier*:1carried by
transportbol1:0..1proven by

Modeled

The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 4 diagrams, rendered from the estate model.

Transport · Class model

Transport · State machine

Transport · State machine

Transport · Sequence


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