docs.vin

bol

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

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

Identity

Nounbol
PillarServices (facets: 5 data · 6 services · 2 commerce)
Capabilities13 — 0 live · 13 sandbox · 0 declared
EntitiesTransport
Doorsaggregator.vin
SDKVin.bol.* from apis.vin
Address/catalog/bol#{action} — the anchor IS the wire name minus bol.

Events

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

Discover & read

read

bol.read · GET /bols/read · gate none · sandbox · answers BolRead@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bol.read({"vin":"5GAEVAKS4TJ127068"})
GET /bols/read
curl 'https://apis.vin/bols/read?vin=5GAEVAKS4TJ127068'

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:08.398Z · HTTP 200
{
  "type": "OK",
  "answers": "BolRead@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "bol": {
      "id": "BOL-7db70a65",
      "loadId": "LD-8cc673fc",
      "carrierId": "CARR-063379bd",
      "status": "dispatched",
      "freight": "vehicle",
      "rateCents": 89500,
      "currency": "USD",
      "signatures": {
        "pickup": {
          "signed": false
        },
        "delivery": {
          "signed": false
        }
      }
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "bol": {
      "id": "BOL-7db70a65",
      "loadId": "LD-8cc673fc",
      "carrierId": "CARR-063379bd",
      "status": "dispatched",
      "freight": "vehicle",
      "rateCents": 89500,
      "currency": "USD",
      "signatures": {
        "pickup": {
          "signed": false
        },
        "delivery": {
          "signed": false
        }
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

history

bol.history · GET /bols/history · gate none · sandbox · answers BolHistory@1

FieldTypeRequiredNotes
vinstringno

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

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

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:08.396Z · HTTP 200
{
  "type": "OK",
  "answers": "BolHistory@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "events": [
      {
        "at": "2026-08-03",
        "on": "Transport.dispatched@1",
        "from": "Booked",
        "to": "Dispatched",
        "status": "dispatched"
      }
    ]
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "events": [
      {
        "at": "2026-08-03",
        "on": "Transport.dispatched@1",
        "from": "Booked",
        "to": "Dispatched",
        "status": "dispatched"
      }
    ]
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

status

bol.status · GET /bols/status · gate none · sandbox · answers BolStatus@1

FieldTypeRequiredNotes
vinstringno

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

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

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:08.399Z · HTTP 200
{
  "type": "OK",
  "answers": "BolStatus@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "bol": {
      "id": "BOL-7db70a65",
      "loadId": "LD-8cc673fc",
      "carrierId": "CARR-063379bd",
      "status": "dispatched",
      "freight": "vehicle",
      "rateCents": 89500,
      "currency": "USD",
      "signatures": {
        "pickup": {
          "signed": false
        },
        "delivery": {
          "signed": false
        }
      }
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "bol": {
      "id": "BOL-7db70a65",
      "loadId": "LD-8cc673fc",
      "carrierId": "CARR-063379bd",
      "status": "dispatched",
      "freight": "vehicle",
      "rateCents": 89500,
      "currency": "USD",
      "signatures": {
        "pickup": {
          "signed": false
        },
        "delivery": {
          "signed": false
        }
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

verify

bol.verify · GET /bols/verify · gate none · sandbox · answers BolVerify@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bol.verify({"vin":"5GAEVAKS4TJ127068"})
GET /bols/verify
curl 'https://apis.vin/bols/verify?vin=5GAEVAKS4TJ127068'

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:08.401Z · HTTP 200
{
  "type": "OK",
  "answers": "BolVerify@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "verification": {
      "id": "BOL-7db70a65",
      "authentic": true,
      "loadId": "LD-8cc673fc",
      "signaturesValid": false,
      "position": "Dispatched"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "verification": {
      "id": "BOL-7db70a65",
      "authentic": true,
      "loadId": "LD-8cc673fc",
      "signaturesValid": false,
      "position": "Dispatched"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Fulfill & operate

generate

bol.generate · POST /bols/generate · gate offer · sandbox · answers BolGenerate@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.generateRequested@1 · Bol.generated@1.

the SDK — bol.generate
import { bol } from 'apis.vin'

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

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:08.395Z · HTTP 200
{
  "type": "OK",
  "answers": "BolGenerate@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "bol": {
      "id": "BOL-7db70a65",
      "loadId": "LD-8cc673fc",
      "status": "already-issued"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "bol": {
      "id": "BOL-7db70a65",
      "loadId": "LD-8cc673fc",
      "status": "already-issued"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

sign

bol.sign · POST /bols/sign · gate offer · sandbox · answers BolSign@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.signRequested@1 · Bol.signed@1.

the SDK — bol.sign
import { bol } from 'apis.vin'

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

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:08.398Z · HTTP 200
{
  "type": "OK",
  "answers": "BolSign@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "signatures": {
      "id": "BOL-7db70a65",
      "pickup": {
        "signed": false
      },
      "delivery": {
        "signed": false
      }
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "signatures": {
      "id": "BOL-7db70a65",
      "pickup": {
        "signed": false
      },
      "delivery": {
        "signed": false
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

deliverySign

bol.deliverySign · POST /bols/delivery-sign · gate offer · sandbox · answers BolDeliverySign@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.deliverySignRequested@1 · Bol.deliverySigned@1.

the SDK — bol.deliverySign
import { bol } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bol.deliverySign({"vin":"5GAEVAKS4TJ127068"})
POST /bols/delivery-sign
curl -X POST https://apis.vin/bols/delivery-sign \
  -H 'content-type: application/json' \
  -d '{"vin":"5GAEVAKS4TJ127068"}'

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:08.291Z · HTTP 200
{
  "type": "OK",
  "answers": "BolDeliverySign@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "signature": {
      "id": "BOL-7db70a65",
      "role": "destination",
      "status": "not-yet-delivered"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "signature": {
      "id": "BOL-7db70a65",
      "role": "destination",
      "status": "not-yet-delivered"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

pickupSign

bol.pickupSign · POST /bols/pickup-sign · gate offer · sandbox · answers BolPickupSign@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.pickupSignRequested@1 · Bol.pickupSigned@1.

the SDK — bol.pickupSign
import { bol } from 'apis.vin'

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

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:08.397Z · HTTP 200
{
  "type": "OK",
  "answers": "BolPickupSign@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "signature": {
      "id": "BOL-7db70a65",
      "role": "origin",
      "status": "signed",
      "signedBy": "shipping agent"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "signature": {
      "id": "BOL-7db70a65",
      "role": "origin",
      "status": "signed",
      "signedBy": "shipping agent"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

amend

bol.amend · POST /bols/amend · gate offer · sandbox · answers BolAmend@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.amendRequested@1 · Bol.amended@1.

the SDK — bol.amend
import { bol } from 'apis.vin'

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

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:08.237Z · HTTP 200
{
  "type": "OK",
  "answers": "BolAmend@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "amendment": {
      "id": "BOL-7db70a65",
      "status": "amended",
      "revision": 2
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "amendment": {
      "id": "BOL-7db70a65",
      "status": "amended",
      "revision": 2
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

exceptions

bol.exceptions · GET /bols/exceptions · gate none · sandbox · answers BolExceptions@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bol.exceptions({"vin":"5GAEVAKS4TJ127068"})
GET /bols/exceptions
curl 'https://apis.vin/bols/exceptions?vin=5GAEVAKS4TJ127068'

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:08.327Z · HTTP 200
{
  "type": "OK",
  "answers": "BolExceptions@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "exceptions": []
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "exceptions": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

noteException

bol.noteException · POST /bols/note-exception · gate offer · sandbox · answers BolNoteException@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.noteExceptionRequested@1 · Bol.exceptionNoted@1.

the SDK — bol.noteException
import { bol } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bol.noteException({"vin":"5GAEVAKS4TJ127068"})
POST /bols/note-exception
curl -X POST https://apis.vin/bols/note-exception \
  -H 'content-type: application/json' \
  -d '{"vin":"5GAEVAKS4TJ127068"}'

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:08.396Z · HTTP 200
{
  "type": "OK",
  "answers": "BolNoteException@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "exception": {
      "status": "no-exception-on-move"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "exception": {
      "status": "no-exception-on-move"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

payAgainst

bol.payAgainst · POST /bols/pay-against · gate offer · sandbox · answers BolPayAgainst@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.paid@1 · Bol.payAgainstRequested@1.

the SDK — bol.payAgainst
import { bol } from 'apis.vin'

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

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:08.397Z · HTTP 200
{
  "type": "OK",
  "answers": "BolPayAgainst@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "payment": {
      "id": "PAY-7d4fa96e",
      "status": "settled",
      "amountCents": 89500,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "payment": {
      "id": "PAY-7d4fa96e",
      "status": "settled",
      "amountCents": 89500,
      "currency": "USD"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

releaseAgainst

bol.releaseAgainst · POST /bols/release-against · gate offer · sandbox · answers BolReleaseAgainst@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) · /5GAEVAKS4TJ127068 (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.

EmitsBol.releaseAgainstRequested@1 · Bol.released@1.

the SDK — bol.releaseAgainst
import { bol } from 'apis.vin'

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

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:08.398Z · HTTP 200
{
  "type": "OK",
  "answers": "BolReleaseAgainst@1",
  "value": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "release": {
      "id": "BOL-7db70a65",
      "status": "not-yet-delivered"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "5GAEVAKS4TJ127068",
    "noun": "bol",
    "asOf": "2026-08-10",
    "bolId": "BOL-7db70a65",
    "phase": "Dispatched",
    "release": {
      "id": "BOL-7db70a65",
      "status": "not-yet-delivered"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "paper-trail-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.