docs.vin

port

The port noun — identity, lifecycle, events, and every capability as an anchored section: 20 capabilities, 0 live, 20 sandbox, 0 declared.

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

Identity

Nounport
PillarServices (facets: 7 data · 8 services · 5 commerce)
Capabilities20 — 0 live · 20 sandbox · 0 declared
EntitiesTransport
Doorsaggregator.vin
SDKVin.port.* from apis.vin
Address/catalog/port#{action} — the anchor IS the wire name minus port.

Events

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

Discover & read

locate

port.locate · GET /ports/locate · gate none · sandbox · answers PortLocate@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.locate
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.locate({"vin":"4S4BTANCXS3232904"})
GET /ports/locate
curl 'https://apis.vin/ports/locate?vin=4S4BTANCXS3232904'

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortLocate@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "location": {
      "status": "on-vessel"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "location": {
      "status": "on-vessel"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

berthStatus

port.berthStatus · GET /ports/berth-status · gate none · sandbox · answers PortBerthStatus@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.berthStatus
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.berthStatus({"vin":"4S4BTANCXS3232904"})
GET /ports/berth-status
curl 'https://apis.vin/ports/berth-status?vin=4S4BTANCXS3232904'

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:15.588Z · HTTP 200
{
  "type": "OK",
  "answers": "PortBerthStatus@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "berth": {
      "status": "vessel-departed",
      "berthsOpen": 0
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "berth": {
      "status": "vessel-departed",
      "berthsOpen": 0
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

customsStatus

port.customsStatus · GET /ports/customs-status · gate none · sandbox · answers PortCustomsStatus@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.customsStatus
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.customsStatus({"vin":"4S4BTANCXS3232904"})
GET /ports/customs-status
curl 'https://apis.vin/ports/customs-status?vin=4S4BTANCXS3232904'

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:15.597Z · HTTP 200
{
  "type": "OK",
  "answers": "PortCustomsStatus@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "customs": {
      "status": "cleared"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "customs": {
      "status": "cleared"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

gateStatus

port.gateStatus · GET /ports/gate-status · gate none · sandbox · answers PortGateStatus@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.gateStatus
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.gateStatus({"vin":"4S4BTANCXS3232904"})
GET /ports/gate-status
curl 'https://apis.vin/ports/gate-status?vin=4S4BTANCXS3232904'

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortGateStatus@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "gate": {
      "standing": "vessel-underway",
      "held": false
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "gate": {
      "standing": "vessel-underway",
      "held": false
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

containerTrack

port.containerTrack · GET /ports/container-track · gate none · sandbox · answers PortContainerTrack@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.containerTrack
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.containerTrack({"vin":"4S4BTANCXS3232904"})
GET /ports/container-track
curl 'https://apis.vin/ports/container-track?vin=4S4BTANCXS3232904'

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:15.592Z · HTTP 200
{
  "type": "OK",
  "answers": "PortContainerTrack@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "container": {
      "id": "CTR-5cc36bbe",
      "standing": "vessel-underway",
      "milesRemaining": 41
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "container": {
      "id": "CTR-5cc36bbe",
      "standing": "vessel-underway",
      "milesRemaining": 41
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Apply & book

book

port.book · POST /ports/book · gate offer · sandbox · answers PortBook@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.

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

EmitsPort.completed@1 · Port.dispatched@1 · Port.ordered@1 · ServiceOrder.settled@1.

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

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

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:15.590Z · HTTP 200
{
  "type": "OK",
  "answers": "PortBook@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "booking": {
      "id": "PB-b489282e",
      "status": "booked",
      "amountCents": 35000,
      "currency": "USD"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "booking": {
      "id": "PB-b489282e",
      "status": "booked",
      "amountCents": 35000,
      "currency": "USD"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

stage

port.stage · POST /ports/stage · gate offer · sandbox · answers PortStage@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.

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

EmitsPort.stageRequested@1 · Port.staged@1.

the SDK — port.stage
import { port } from 'apis.vin'

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

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:15.641Z · HTTP 200
{
  "type": "OK",
  "answers": "PortStage@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "staging": {
      "status": "staged",
      "area": "Y-4"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "staging": {
      "status": "staged",
      "area": "Y-4"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

vesselSchedule

port.vesselSchedule · GET /ports/vessel-schedule · gate none · sandbox · answers PortVesselSchedule@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.vesselSchedule
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.vesselSchedule({"vin":"4S4BTANCXS3232904"})
GET /ports/vessel-schedule
curl 'https://apis.vin/ports/vessel-schedule?vin=4S4BTANCXS3232904'

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:15.650Z · HTTP 200
{
  "type": "OK",
  "answers": "PortVesselSchedule@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "schedule": {
      "vessel": "VSL-7e254db5",
      "nextSailingDate": "2026-08-17"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "schedule": {
      "vessel": "VSL-7e254db5",
      "nextSailingDate": "2026-08-17"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

port.pay · POST /ports/pay · gate offer · sandbox · answers PortPay@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.

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

EmitsPort.paid@1 · Port.payFailed@1 · Port.payRequested@1.

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

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

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortPay@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "payment": {
      "id": "PAY-d5a85c63",
      "status": "settled",
      "amountCents": 35000,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "payment": {
      "id": "PAY-d5a85c63",
      "status": "settled",
      "amountCents": 35000,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

settle

port.settle · POST /ports/settle · gate offer · sandbox · answers PortSettle@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.

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

EmitsPort.settleFailed@1 · Port.settleRequested@1 · Port.settled@1.

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

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

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:15.641Z · HTTP 200
{
  "type": "OK",
  "answers": "PortSettle@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "payment": {
      "id": "PAY-bdf28624",
      "status": "settled",
      "amountCents": 35000,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "payment": {
      "id": "PAY-bdf28624",
      "status": "settled",
      "amountCents": 35000,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

discharge

port.discharge · POST /ports/discharge · gate offer · sandbox · answers PortDischarge@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.

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

EmitsPort.dischargeRequested@1 · Port.discharged@1.

the SDK — port.discharge
import { port } from 'apis.vin'

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

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:15.628Z · HTTP 200
{
  "type": "OK",
  "answers": "PortDischarge@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "discharge": {
      "status": "not-arrived"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "discharge": {
      "status": "not-arrived"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

demurrageBill

port.demurrageBill · POST /ports/demurrage-bill · gate offer · sandbox · answers PortDemurrageBill@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.

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

EmitsPort.demurrageBillRequested@1 · Port.demurrageBilled@1.

the SDK — port.demurrageBill
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.demurrageBill({"vin":"4S4BTANCXS3232904"})
POST /ports/demurrage-bill
curl -X POST https://apis.vin/ports/demurrage-bill \
  -H 'content-type: application/json' \
  -d '{"vin":"4S4BTANCXS3232904"}'

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:15.628Z · HTTP 200
{
  "type": "OK",
  "answers": "PortDemurrageBill@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "bill": {
      "status": "no-demurrage",
      "amountCents": 0,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "bill": {
      "status": "no-demurrage",
      "amountCents": 0,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

wharfageBill

port.wharfageBill · POST /ports/wharfage-bill · gate offer · sandbox · answers PortWharfageBill@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.

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

EmitsPort.wharfageBillRequested@1 · Port.wharfageBilled@1.

the SDK — port.wharfageBill
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.wharfageBill({"vin":"4S4BTANCXS3232904"})
POST /ports/wharfage-bill
curl -X POST https://apis.vin/ports/wharfage-bill \
  -H 'content-type: application/json' \
  -d '{"vin":"4S4BTANCXS3232904"}'

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:15.663Z · HTTP 200
{
  "type": "OK",
  "answers": "PortWharfageBill@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "bill": {
      "id": "WH-0449c0ca",
      "kind": "wharfage",
      "amountCents": 12000,
      "currency": "USD",
      "status": "issued"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "bill": {
      "id": "WH-0449c0ca",
      "kind": "wharfage",
      "amountCents": 12000,
      "currency": "USD",
      "status": "issued"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

customsClear

port.customsClear · POST /ports/customs-clear · gate offer · sandbox · answers PortCustomsClear@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.

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

EmitsPort.customsClearRequested@1 · Port.customsCleared@1.

the SDK — port.customsClear
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.customsClear({"vin":"4S4BTANCXS3232904"})
POST /ports/customs-clear
curl -X POST https://apis.vin/ports/customs-clear \
  -H 'content-type: application/json' \
  -d '{"vin":"4S4BTANCXS3232904"}'

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:15.595Z · HTTP 200
{
  "type": "OK",
  "answers": "PortCustomsClear@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "customs": {
      "status": "cleared",
      "entry": "EN-ed2463c9"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "customs": {
      "status": "cleared",
      "entry": "EN-ed2463c9"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Lifecycle & state

release

port.release · POST /ports/release · gate offer · sandbox · answers PortRelease@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.

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

EmitsPort.releaseFailed@1 · Port.releaseRequested@1 · Port.released@1.

the SDK — port.release
import { port } from 'apis.vin'

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

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortRelease@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "release": {
      "status": "not-ready"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "release": {
      "status": "not-ready"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

dwell

port.dwell · GET /ports/dwell · gate none · sandbox · answers PortDwell@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /4S4BTANCXS3232904 (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 — port.dwell
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.dwell({"vin":"4S4BTANCXS3232904"})
GET /ports/dwell
curl 'https://apis.vin/ports/dwell?vin=4S4BTANCXS3232904'

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:15.628Z · HTTP 200
{
  "type": "OK",
  "answers": "PortDwell@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "dwell": {
      "days": 0,
      "freeDays": 2,
      "accruing": false
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "dwell": {
      "days": 0,
      "freeDays": 2,
      "accruing": false
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

gateIn

port.gateIn · POST /ports/gate-in · gate offer · sandbox · answers PortGateIn@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.

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

EmitsPort.gateInRequested@1 · Port.gatedIn@1.

the SDK — port.gateIn
import { port } from 'apis.vin'

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

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortGateIn@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "gate": {
      "status": "already-processed"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "gate": {
      "status": "already-processed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

gateOut

port.gateOut · POST /ports/gate-out · gate offer · sandbox · answers PortGateOut@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.

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

EmitsPort.gateOutRequested@1 · Port.gatedOut@1.

the SDK — port.gateOut
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.gateOut({"vin":"4S4BTANCXS3232904"})
POST /ports/gate-out
curl -X POST https://apis.vin/ports/gate-out \
  -H 'content-type: application/json' \
  -d '{"vin":"4S4BTANCXS3232904"}'

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortGateOut@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "gate": {
      "status": "not-ready"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "gate": {
      "status": "not-ready"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

loadVessel

port.loadVessel · POST /ports/load-vessel · gate offer · sandbox · answers PortLoadVessel@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.

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

EmitsPort.loadVesselRequested@1 · Port.vesselLoaded@1.

the SDK — port.loadVessel
import { port } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await port.loadVessel({"vin":"4S4BTANCXS3232904"})
POST /ports/load-vessel
curl -X POST https://apis.vin/ports/load-vessel \
  -H 'content-type: application/json' \
  -d '{"vin":"4S4BTANCXS3232904"}'

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortLoadVessel@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "stow": {
      "status": "already-sailed"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "stow": {
      "status": "already-sailed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

receive

port.receive · POST /ports/receive · gate offer · sandbox · answers PortReceive@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.

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

EmitsPort.receiveRequested@1 · Port.received@1.

the SDK — port.receive
import { port } from 'apis.vin'

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

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:15.636Z · HTTP 200
{
  "type": "OK",
  "answers": "PortReceive@1",
  "value": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "receipt": {
      "status": "already-received"
    }
  },
  "evidence": {
    "vin": "4S4BTANCXS3232904",
    "noun": "port",
    "asOf": "2026-08-10",
    "standing": "vessel-underway",
    "receipt": {
      "status": "already-received"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-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.

Transport


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