bid
The bid noun — identity, lifecycle, events, and every capability as an anchored section: 12 capabilities, 0 live, 12 sandbox, 0 declared.
bid is one of the estate's 317 automotive nouns — a job a car needs done. It carries 12 capabilities: 0 live, 12 sandbox, 0 declared · doors aggregator.vin.
Identity
| Noun | bid |
| Pillar | Services (facets: 3 data · 5 services · 4 commerce) |
| Capabilities | 12 — 0 live · 12 sandbox · 0 declared |
| Entities | Auction |
| Doors | aggregator.vin |
| SDK | Vin.bid.* from apis.vin |
| Address | /catalog/bid#{action} — the anchor IS the wire name minus bid. |
Events
The vocabulary this noun can append to the record — 10 past-tense, versioned event types, each linked to the capability that emits it:
Bid.committed@1— emitted bycommitBid.depositHeld@1— emitted bydepositHoldBid.failed@1— emitted bycommit·depositHold·pay·winBid.floorBid@1— emitted byfloorBidBid.ifBidResponded@1— emitted byifBidRespondBid.paid@1— emitted bypayBid.placed@1— emitted byplaceBid.proxyPlaced@1— emitted byproxyBid.retracted@1— emitted byretractBid.won@1— emitted bywin
Discover & read
read
bid.read · GET /bids/read · gate none · sandbox · answers BidRead@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.read({"vin":"KL79MRSL6SB063485"})curl 'https://apis.vin/bids/read?vin=KL79MRSL6SB063485'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidRead@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"bidding": {
"standing": "not-yet-open"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"bidding": {
"standing": "not-yet-open"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}history
bid.history · GET /bids/history · gate none · sandbox · answers BidHistory@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.history({"vin":"KL79MRSL6SB063485"})curl 'https://apis.vin/bids/history?vin=KL79MRSL6SB063485'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidHistory@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"trail": {
"consignmentId": "CSN-3f146199",
"entries": [],
"count": 0
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"trail": {
"consignmentId": "CSN-3f146199",
"entries": [],
"count": 0
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Quote & price
floorBid
bid.floorBid · POST /bids/floor-bid · gate offer · sandbox · answers BidFloorBid@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.floorBid@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.floorBid({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/floor-bid \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidFloorBid@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"floor": {
"status": "lane-not-open",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"floor": {
"status": "lane-not-open",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}highBid
bid.highBid · GET /bids/high-bid · gate key · sandbox · answers BidHighBid@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.highBid({"vin":"KL79MRSL6SB063485"})curl 'https://apis.vin/bids/high-bid?vin=KL79MRSL6SB063485'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidHighBid@1",
"value": {
"runRef": "RUN-1EPL8IM",
"vin": "KL79MRSL6SB063485",
"highBid": {
"amount": "20209.00",
"currency": "USD"
},
"bidderRef": "BIDDER-1U6QW2Z",
"bidCount": 20,
"asOf": "2026-08-10"
},
"evidence": {
"runRef": "RUN-1EPL8IM",
"vin": "KL79MRSL6SB063485",
"highBid": {
"amount": "20209.00",
"currency": "USD"
},
"bidderRef": "BIDDER-1U6QW2Z",
"bidCount": 20,
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "market-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Pay & settle
pay
bid.pay · POST /bids/pay · gate offer · sandbox · answers BidPay@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.failed@1 · Bid.paid@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.pay({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/pay \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidPay@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"payment": {
"status": "not-sold",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"payment": {
"status": "not-sold",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}Authorize & resolve
depositHold
bid.depositHold · POST /bids/deposit-hold · gate offer · sandbox · answers BidDepositHold@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.depositHeld@1 · Bid.failed@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.depositHold({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/deposit-hold \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidDepositHold@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"hold": {
"status": "held",
"id": "DEP-fac34afa",
"consignmentId": "CSN-3f146199",
"amountCents": 185000,
"reserveCents": 1850000,
"currency": "USD",
"basis": "one-tenth-of-reserve"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"hold": {
"status": "held",
"id": "DEP-fac34afa",
"consignmentId": "CSN-3f146199",
"amountCents": 185000,
"reserveCents": 1850000,
"currency": "USD",
"basis": "one-tenth-of-reserve"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}More actions
commit
bid.commit · POST /bids/commit · gate offer · sandbox · answers BidCommit@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.committed@1 · Bid.failed@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.commit({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/commit \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidCommit@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"commitment": {
"status": "lane-not-open",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"commitment": {
"status": "lane-not-open",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}ifBidRespond
bid.ifBidRespond · POST /bids/if-bid-respond · gate offer · sandbox · answers BidIfBidRespond@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.ifBidResponded@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.ifBidRespond({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/if-bid-respond \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidIfBidRespond@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"response": {
"status": "no-if-bid",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"response": {
"status": "no-if-bid",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}place
bid.place · POST /bids/place · gate offer · sandbox · answers BidPlace@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.placed@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.place({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/place \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidPlace@1",
"value": {
"bidId": "BID-1WLJA4Z",
"runRef": "RUN-1EPL8IM",
"vin": "KL79MRSL6SB063485",
"amount": {
"amount": "8473.00",
"currency": "USD"
},
"state": "outbid",
"currentHigh": {
"amount": "20209.00",
"currency": "USD"
},
"asOf": "2026-08-10"
},
"evidence": {
"bidId": "BID-1WLJA4Z",
"runRef": "RUN-1EPL8IM",
"vin": "KL79MRSL6SB063485",
"amount": {
"amount": "8473.00",
"currency": "USD"
},
"state": "outbid",
"currentHigh": {
"amount": "20209.00",
"currency": "USD"
},
"asOf": "2026-08-10"
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "market-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}proxy
bid.proxy · POST /bids/proxy · gate offer · sandbox · answers BidProxy@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.proxyPlaced@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.proxy({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/proxy \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidProxy@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"autobid": {
"status": "armed",
"consignmentId": "CSN-3f146199",
"maxBidCents": 1873986,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"autobid": {
"status": "armed",
"consignmentId": "CSN-3f146199",
"maxBidCents": 1873986,
"currency": "USD"
},
"payer": {
"name": "Ava Good",
"castRow": "super-prime",
"creditTier": "super-prime"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}retract
bid.retract · POST /bids/retract · gate offer · sandbox · answers BidRetract@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.retracted@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.retract({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/retract \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidRetract@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"retraction": {
"status": "nothing-to-retract",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"retraction": {
"status": "nothing-to-retract",
"consignmentId": "CSN-3f146199",
"position": "Scheduled"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-sandbox"
},
"events": [],
"meter": {
"charged": "0.00",
"posted": false
}
}win
bid.win · POST /bids/win · gate offer · sandbox · answers BidWin@1
| Field | Type | Required | Notes |
|---|---|---|---|
vin | string | no | — |
The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.
Door — aggregator.vin serves this noun on its two routes: / (the landing) · /KL79MRSL6SB063485 (the VIN lens).
Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.
Emits — Bid.failed@1 · Bid.won@1.
import { bid } from 'apis.vin'
// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await bid.win({"vin":"KL79MRSL6SB063485"})curl -X POST https://apis.vin/bids/win \
-H 'content-type: application/json' \
-d '{"vin":"KL79MRSL6SB063485"}'Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.
{
"type": "OK",
"answers": "BidWin@1",
"value": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"outcome": {
"status": "not-yet-open",
"consignmentId": "CSN-3f146199"
}
},
"evidence": {
"vin": "KL79MRSL6SB063485",
"noun": "bid",
"asOf": "2026-08-10",
"id": "CSN-3f146199",
"lane": 3,
"runNumber": 18,
"sellerId": "F00SET",
"reserve": 1850000,
"status": "Scheduled",
"outcome": {
"status": "not-yet-open",
"consignmentId": "CSN-3f146199"
}
},
"provenance": {
"simulated": true,
"environment": "sandbox",
"source": "acquisition-desk-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.
Auction
Modeled
The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 4 diagrams, rendered from the estate model.
Bid · Class model
Bid · State machine
Bid · State machine
Bid · Sequence
Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.