docs.vin

fleetVehicle

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

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

Identity

NounfleetVehicle
PillarData (facets: 8 data · 7 services · 4 commerce)
Capabilities19 — 0 live · 19 sandbox · 0 declared
EntitiesVehicle
Doorsaggregator.vin
SDKVin.fleetVehicle.* from apis.vin
Address/catalog/fleetVehicle#{action} — the anchor IS the wire name minus fleetVehicle.

Events

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

Discover & read

read

fleetVehicle.read · GET /fleet-vehicles/read · gate none · sandbox · answers FleetVehicleRead@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.read({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/read
curl 'https://apis.vin/fleet-vehicles/read?vin=2C4RC1BG8PR567409'

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:11.696Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleRead@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "unit": {
      "vin": "2C4RC1BG8PR567409",
      "keepPosition": "NotEnrolled",
      "enrolled": false,
      "odometerMiles": 35818,
      "utilizationPct": 14,
      "maintenanceDue": false
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "unit": {
      "vin": "2C4RC1BG8PR567409",
      "keepPosition": "NotEnrolled",
      "enrolled": false,
      "odometerMiles": 35818,
      "utilizationPct": 14,
      "maintenanceDue": false
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

decode

fleetVehicle.decode · GET /fleet-vehicles/decode · gate none · sandbox · answers FleetVehicleDecode@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.decode({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/decode
curl 'https://apis.vin/fleet-vehicles/decode?vin=2C4RC1BG8PR567409'

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:11.669Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleDecode@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "decoded": {
      "vin": "2C4RC1BG8PR567409",
      "valid": true,
      "squishVin": "2C4RC1BG8PR"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "decoded": {
      "vin": "2C4RC1BG8PR567409",
      "valid": true,
      "squishVin": "2C4RC1BG8PR"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

status

fleetVehicle.status · GET /fleet-vehicles/status · gate none · sandbox · answers FleetVehicleStatus@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.status({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/status
curl 'https://apis.vin/fleet-vehicles/status?vin=2C4RC1BG8PR567409'

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:11.707Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleStatus@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "unit": {
      "vin": "2C4RC1BG8PR567409",
      "keepPosition": "NotEnrolled",
      "enrolled": false,
      "odometerMiles": 35818,
      "utilizationPct": 14,
      "maintenanceDue": false
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "unit": {
      "vin": "2C4RC1BG8PR567409",
      "keepPosition": "NotEnrolled",
      "enrolled": false,
      "odometerMiles": 35818,
      "utilizationPct": 14,
      "maintenanceDue": false
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

utilization

fleetVehicle.utilization · GET /fleet-vehicles/utilization · gate key · sandbox · answers FleetVehicleUtilization@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.utilization({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/utilization
curl 'https://apis.vin/fleet-vehicles/utilization?vin=2C4RC1BG8PR567409'

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:11.708Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleUtilization@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "utilization": {
      "vin": "2C4RC1BG8PR567409",
      "pct": 14,
      "basisMiles": 35818
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "utilization": {
      "vin": "2C4RC1BG8PR567409",
      "pct": 14,
      "basisMiles": 35818
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

location

fleetVehicle.location · GET /fleet-vehicles/location · gate key · sandbox · answers FleetVehicleLocation@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.location({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/location
curl 'https://apis.vin/fleet-vehicles/location?vin=2C4RC1BG8PR567409'

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:11.690Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleLocation@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "location": {
      "status": "at-domicile",
      "lot": "estate-yard"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "location": {
      "status": "at-domicile",
      "lot": "estate-yard"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

maintenancePredict

fleetVehicle.maintenancePredict · GET /fleet-vehicles/maintenance-predict · gate none · sandbox · answers FleetVehicleMaintenancePredict@1

No input — this capability takes no request body.

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.maintenancePredict()
GET /fleet-vehicles/maintenance-predict
curl 'https://apis.vin/fleet-vehicles/maintenance-predict'

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:09.833Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleMaintenancePredict@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "prediction": {
      "failureRisk": "low",
      "horizonDays": 180
    }
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "prediction": {
      "failureRisk": "low",
      "horizonDays": 180
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Apply & book

order

fleetVehicle.order · POST /fleet-vehicles/order · gate offer · sandbox · answers FleetVehicleOrder@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.failed@1 · FleetVehicle.ordered@1 · FleetVehicle.requested@1.

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

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

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:11.693Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleOrder@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "order": {
      "id": "ORD-d96ca6f8",
      "item": "replacement-unit",
      "status": "placed",
      "amountCents": 1850000,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "order": {
      "id": "ORD-d96ca6f8",
      "item": "replacement-unit",
      "status": "placed",
      "amountCents": 1850000,
      "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
  }
}

assign

fleetVehicle.assign · POST /fleet-vehicles/assign · gate offer · sandbox · answers FleetVehicleAssign@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.assigned@1.

the SDK — fleetVehicle.assign
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.assign({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/assign
curl -X POST https://apis.vin/fleet-vehicles/assign \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.660Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleAssign@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "assignment": {
      "vin": "2C4RC1BG8PR567409",
      "driver": {
        "name": "Ava Good",
        "castRow": "super-prime",
        "creditTier": "super-prime"
      },
      "status": "assigned"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "assignment": {
      "vin": "2C4RC1BG8PR567409",
      "driver": {
        "name": "Ava Good",
        "castRow": "super-prime",
        "creditTier": "super-prime"
      },
      "status": "assigned"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

commission

fleetVehicle.commission · POST /fleet-vehicles/commission · gate offer · sandbox · answers FleetVehicleCommission@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.commissioned@1.

the SDK — fleetVehicle.commission
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.commission({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/commission
curl -X POST https://apis.vin/fleet-vehicles/commission \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.668Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleCommission@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "commissioning": {
      "status": "pending-enrollment"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "commissioning": {
      "status": "pending-enrollment"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

fleetVehicle.pay · POST /fleet-vehicles/pay · gate offer · sandbox · answers FleetVehiclePay@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.failed@1 · FleetVehicle.paid@1.

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

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

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:11.696Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehiclePay@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "payment": {
      "id": "PAY-46ca1a8e",
      "status": "settled",
      "amountCents": 4500,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "payment": {
      "id": "PAY-46ca1a8e",
      "status": "settled",
      "amountCents": 4500,
      "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
  }
}

Fulfill & operate

rotate

fleetVehicle.rotate · POST /fleet-vehicles/rotate · gate offer · sandbox · answers FleetVehicleRotate@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.rotated@1.

the SDK — fleetVehicle.rotate
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.rotate({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/rotate
curl -X POST https://apis.vin/fleet-vehicles/rotate \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.698Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleRotate@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "rotation": {
      "vin": "2C4RC1BG8PR567409",
      "driver": {
        "name": "Ava Good",
        "castRow": "super-prime",
        "creditTier": "super-prime"
      },
      "status": "rotated"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "rotation": {
      "vin": "2C4RC1BG8PR567409",
      "driver": {
        "name": "Ava Good",
        "castRow": "super-prime",
        "creditTier": "super-prime"
      },
      "status": "rotated"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

acquire

fleetVehicle.acquire · POST /fleet-vehicles/acquire · gate offer · sandbox · answers FleetVehicleAcquire@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.acquired@1.

the SDK — fleetVehicle.acquire
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.acquire({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/acquire
curl -X POST https://apis.vin/fleet-vehicles/acquire \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.657Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleAcquire@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "acquisition": {
      "id": "ACQ-6fe72e84",
      "status": "acquired",
      "costCents": 1850000,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "acquisition": {
      "id": "ACQ-6fe72e84",
      "status": "acquired",
      "costCents": 1850000,
      "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
  }
}

defleet

fleetVehicle.defleet · POST /fleet-vehicles/defleet · gate offer · sandbox · answers FleetVehicleDefleet@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.defleeted@1.

the SDK — fleetVehicle.defleet
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.defleet({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/defleet
curl -X POST https://apis.vin/fleet-vehicles/defleet \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.682Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleDefleet@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "defleet": {
      "id": "DF-c78723ad",
      "status": "scheduled",
      "channel": "retail-sale"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "defleet": {
      "id": "DF-c78723ad",
      "status": "scheduled",
      "channel": "retail-sale"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

depreciate

fleetVehicle.depreciate · POST /fleet-vehicles/depreciate · gate offer · sandbox · answers FleetVehicleDepreciate@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.depreciated@1 · FleetVehicle.failed@1.

the SDK — fleetVehicle.depreciate
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.depreciate({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/depreciate
curl -X POST https://apis.vin/fleet-vehicles/depreciate \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.685Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleDepreciate@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "depreciation": {
      "basisValueCents": 2300000,
      "residualCents": 1265000,
      "termMonths": 36,
      "monthlyCents": 28750,
      "currency": "USD"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "depreciation": {
      "basisValueCents": 2300000,
      "residualCents": 1265000,
      "termMonths": 36,
      "monthlyCents": 28750,
      "currency": "USD"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

lease

fleetVehicle.lease · POST /fleet-vehicles/lease · gate offer · sandbox · answers FleetVehicleLease@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.failed@1 · FleetVehicle.leased@1.

the SDK — fleetVehicle.lease
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.lease({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/lease
curl -X POST https://apis.vin/fleet-vehicles/lease \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.685Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleLease@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "lease": {
      "id": "FL-5f81dace",
      "termMonths": 36,
      "monthlyCents": 34500,
      "currency": "USD",
      "status": "quoted"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "lease": {
      "id": "FL-5f81dace",
      "termMonths": 36,
      "monthlyCents": 34500,
      "currency": "USD",
      "status": "quoted"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

maintain

fleetVehicle.maintain · POST /fleet-vehicles/maintain · gate offer · sandbox · answers FleetVehicleMaintain@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.maintained@1.

the SDK — fleetVehicle.maintain
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.maintain({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/maintain
curl -X POST https://apis.vin/fleet-vehicles/maintain \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.692Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleMaintain@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "work": {
      "id": "MW-5f808d51",
      "status": "nothing-due"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "work": {
      "id": "MW-5f808d51",
      "status": "nothing-due"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

remarket

fleetVehicle.remarket · POST /fleet-vehicles/remarket · gate offer · sandbox · answers FleetVehicleRemarket@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) · /2C4RC1BG8PR567409 (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.

EmitsFleetVehicle.remarketed@1.

the SDK — fleetVehicle.remarket
import { fleetVehicle } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.remarket({"vin":"2C4RC1BG8PR567409"})
POST /fleet-vehicles/remarket
curl -X POST https://apis.vin/fleet-vehicles/remarket \
  -H 'content-type: application/json' \
  -d '{"vin":"2C4RC1BG8PR567409"}'

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:11.698Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleRemarket@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "remarketing": {
      "id": "RM-f31f951d",
      "channel": "retail-sale",
      "askingCents": 2300000,
      "currency": "USD",
      "status": "listed"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "remarketing": {
      "id": "RM-f31f951d",
      "channel": "retail-sale",
      "askingCents": 2300000,
      "currency": "USD",
      "status": "listed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

residual

fleetVehicle.residual · GET /fleet-vehicles/residual · gate key · sandbox · answers FleetVehicleResidual@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.residual({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/residual
curl 'https://apis.vin/fleet-vehicles/residual?vin=2C4RC1BG8PR567409'

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:11.698Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleResidual@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "residual": {
      "amountCents": 1265000,
      "basisValueCents": 2300000,
      "pct": 55,
      "currency": "USD"
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "residual": {
      "amountCents": 1265000,
      "basisValueCents": 2300000,
      "pct": 55,
      "currency": "USD"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "freight-fleet-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

tco

fleetVehicle.tco · GET /fleet-vehicles/tco · gate key · sandbox · answers FleetVehicleTco@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await fleetVehicle.tco({"vin":"2C4RC1BG8PR567409"})
GET /fleet-vehicles/tco
curl 'https://apis.vin/fleet-vehicles/tco?vin=2C4RC1BG8PR567409'

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:11.708Z · HTTP 200
{
  "type": "OK",
  "answers": "FleetVehicleTco@1",
  "value": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "tco": {
      "vin": "2C4RC1BG8PR567409",
      "amountCents": 1229724,
      "currency": "USD",
      "perMileCents": 18
    }
  },
  "evidence": {
    "vin": "2C4RC1BG8PR567409",
    "noun": "fleetVehicle",
    "asOf": "2026-08-10",
    "fleetId": "FLT-53de9f6b",
    "tco": {
      "vin": "2C4RC1BG8PR567409",
      "amountCents": 1229724,
      "currency": "USD",
      "perMileCents": 18
    }
  },
  "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.

Vehicle


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