docs.vin

impound

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

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

Identity

Nounimpound
PillarServices (facets: 5 data · 6 services · 4 commerce)
Capabilities15 — 0 live · 15 sandbox · 0 declared
EntitiesTow
Doorsaggregator.vin
SDKVin.impound.* from apis.vin
Address/catalog/impound#{action} — the anchor IS the wire name minus impound.

Events

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

Discover & read

status

impound.status · GET /impounds/status · gate none · sandbox · answers ImpoundStatus@1

FieldTypeRequiredNotes
vinstringno

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

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

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:12.436Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundStatus@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "status": "released",
    "daysHeld": 13,
    "lotRef": "lot:232",
    "reason": "settled"
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "status": "released",
    "daysHeld": 13,
    "lotRef": "lot:232",
    "reason": "settled"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "impound-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

locate

impound.locate · GET /impounds/locate · gate none · sandbox · answers ImpoundLocate@1

FieldTypeRequiredNotes
vinstringno

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

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

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:12.427Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundLocate@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "location": {
      "site": "not-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "location": {
      "site": "not-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

holdCheck

impound.holdCheck · GET /impounds/hold-check · gate none · sandbox · answers ImpoundHoldCheck@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await impound.holdCheck({"vin":"1C4RJFCG5KC751225"})
GET /impounds/hold-check
curl 'https://apis.vin/impounds/hold-check?vin=1C4RJFCG5KC751225'

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:12.396Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundHoldCheck@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "holdCheck": {
      "held": false,
      "standing": "none"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "holdCheck": {
      "held": false,
      "standing": "none"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Quote & price

fee

impound.fee · POST /impounds/fee · gate offer · sandbox · answers ImpoundFee@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.feeCharged@1 · Impound.feeRequested@1.

the SDK — impound.fee
import { impound } from 'apis.vin'

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

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:12.395Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundFee@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "fee": {
      "status": "never-impounded"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "fee": {
      "status": "never-impounded"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

fees

impound.fees · GET /impounds/fees · gate none · sandbox · answers ImpoundFees@1

FieldTypeRequiredNotes
vinstringno

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

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

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:12.395Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundFees@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "currency": "USD",
    "lines": [
      {
        "code": "tow",
        "label": "Tow / hook",
        "amountCents": 12500
      },
      {
        "code": "admin",
        "label": "Administrative fee",
        "amountCents": 5000
      },
      {
        "code": "storage",
        "label": "Daily storage × 13",
        "amountCents": 58500
      }
    ],
    "days": 13,
    "totalCents": 76000
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "currency": "USD",
    "lines": [
      {
        "code": "tow",
        "label": "Tow / hook",
        "amountCents": 12500
      },
      {
        "code": "admin",
        "label": "Administrative fee",
        "amountCents": 5000
      },
      {
        "code": "storage",
        "label": "Daily storage × 13",
        "amountCents": 58500
      }
    ],
    "days": 13,
    "totalCents": 76000
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "impound-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

impound.pay · POST /impounds/pay · gate offer · sandbox · answers ImpoundPay@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.paid@1 · Impound.payFailed@1 · Impound.payRequested@1.

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

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

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:12.434Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundPay@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "payment": {
      "status": "nothing-owed"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "payment": {
      "status": "nothing-owed"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

settle

impound.settle · POST /impounds/settle · gate offer · sandbox · answers ImpoundSettle@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.settleFailed@1 · Impound.settleRequested@1 · Impound.settled@1.

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

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

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:12.436Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundSettle@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "settlement": {
      "status": "nothing-owed"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "settlement": {
      "status": "nothing-owed"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

lienSell

impound.lienSell · POST /impounds/lien-sell · gate offer · sandbox · answers ImpoundLienSell@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.lienSellRequested@1 · Impound.lienSold@1.

the SDK — impound.lienSell
import { impound } from 'apis.vin'

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

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:12.425Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundLienSell@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "lienSale": {
      "status": "no-unit-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "lienSale": {
      "status": "no-unit-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Fulfill & operate

lienProcess

impound.lienProcess · POST /impounds/lien-process · gate offer · sandbox · answers ImpoundLienProcess@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.lienProcessRequested@1 · Impound.lienProcessed@1.

the SDK — impound.lienProcess
import { impound } from 'apis.vin'

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

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:12.413Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundLienProcess@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "lien": {
      "status": "no-unit-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "lien": {
      "status": "no-unit-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

hold

impound.hold · POST /impounds/hold · gate offer · sandbox · answers ImpoundHold@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.held@1 · Impound.holdRequested@1.

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

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

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:12.396Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundHold@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "holding": {
      "status": "no-unit-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "holding": {
      "status": "no-unit-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Lifecycle & state

release

impound.release · POST /impounds/release · gate offer · sandbox · answers ImpoundRelease@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.releaseFailed@1 · Impound.releaseRequested@1 · Impound.released@1.

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

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

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:12.435Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundRelease@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "release": {
      "status": "no-unit-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "release": {
      "status": "no-unit-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

auction

impound.auction · POST /impounds/auction · gate offer · sandbox · answers ImpoundAuction@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.auctionRequested@1 · Impound.auctioned@1.

the SDK — impound.auction
import { impound } from 'apis.vin'

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

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:12.395Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundAuction@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "consignment": {
      "status": "no-unit-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "consignment": {
      "status": "no-unit-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

notifyOwner

impound.notifyOwner · POST /impounds/notify-owner · gate offer · sandbox · answers ImpoundNotifyOwner@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.notifyOwnerRequested@1 · Impound.ownerNotified@1.

the SDK — impound.notifyOwner
import { impound } from 'apis.vin'

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

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:12.427Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundNotifyOwner@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "notice": {
      "status": "no-unit-in-custody"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "notice": {
      "status": "no-unit-in-custody"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

reason

impound.reason · GET /impounds/reason · gate none · sandbox · answers ImpoundReason@1

FieldTypeRequiredNotes
vinstringno

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

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

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:12.434Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundReason@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "reason": {
      "status": "never-impounded"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "reason": {
      "status": "never-impounded"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

receive

impound.receive · POST /impounds/receive · gate offer · sandbox · answers ImpoundReceive@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) · /1C4RJFCG5KC751225 (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.

EmitsImpound.receiveRequested@1 · Impound.received@1.

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

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

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:12.435Z · HTTP 200
{
  "type": "OK",
  "answers": "ImpoundReceive@1",
  "value": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "receiving": {
      "status": "no-unit-inbound"
    }
  },
  "evidence": {
    "vin": "1C4RJFCG5KC751225",
    "noun": "impound",
    "asOf": "2026-08-10",
    "receiving": {
      "status": "no-unit-inbound"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "auction-aftermath-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.

Tow


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