docs.vin

windowSticker

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

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

Identity

NounwindowSticker
PillarData (facets: 4 data · 3 services · 1 commerce)
Capabilities8 — 4 live · 4 sandbox · 0 declared
EntitiesListing
Doorsaggregator.vin
SDKVin.windowSticker.* from apis.vin
Address/catalog/windowSticker#{action} — the anchor IS the wire name minus windowSticker.

Events

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

Discover & read

read

windowSticker.read · GET /window-stickers/read · gate none · live · answers WindowStickerRead@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /KMHL34J21PA307169 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — windowSticker.read
import { windowSticker } from 'apis.vin'

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

decode

windowSticker.decode · GET /window-stickers/decode · gate none · live · answers WindowStickerDecode@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /KMHL34J21PA307169 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — windowSticker.decode
import { windowSticker } from 'apis.vin'

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

Fulfill & operate

generate

windowSticker.generate · POST /window-stickers/generate · gate offer · sandbox · answers WindowStickerGenerate@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) · /KMHL34J21PA307169 (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.

EmitsWindowSticker.generated@1.

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

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

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:19.242Z · HTTP 200
{
  "type": "OK",
  "answers": "WindowStickerGenerate@1",
  "value": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "sticker": {
      "id": "WS-de556b8f",
      "listingId": "LST-735fc2ce",
      "priceCents": 2300000,
      "currency": "USD",
      "status": "built"
    }
  },
  "evidence": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "sticker": {
      "id": "WS-de556b8f",
      "listingId": "LST-735fc2ce",
      "priceCents": 2300000,
      "currency": "USD",
      "status": "built"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "window-papers-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

publish

windowSticker.publish · POST /window-stickers/publish · gate offer · sandbox · answers WindowStickerPublish@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) · /KMHL34J21PA307169 (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.

EmitsWindowSticker.published@1.

the SDK — windowSticker.publish
import { windowSticker } from 'apis.vin'

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

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:19.242Z · HTTP 200
{
  "type": "OK",
  "answers": "WindowStickerPublish@1",
  "value": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "stickerId": "WS-de556b8f",
    "publication": {
      "status": "published",
      "id": "LST-735fc2ce",
      "position": "Active"
    }
  },
  "evidence": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "stickerId": "WS-de556b8f",
    "publication": {
      "status": "published",
      "id": "LST-735fc2ce",
      "position": "Active"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "window-papers-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

affix

windowSticker.affix · POST /window-stickers/affix · gate offer · sandbox · answers WindowStickerAffix@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) · /KMHL34J21PA307169 (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.

EmitsWindowSticker.affixed@1.

the SDK — windowSticker.affix
import { windowSticker } from 'apis.vin'

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

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:19.242Z · HTTP 200
{
  "type": "OK",
  "answers": "WindowStickerAffix@1",
  "value": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "affixture": {
      "id": "WS-de556b8f",
      "status": "affixed",
      "location": "vehicle-window"
    }
  },
  "evidence": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "affixture": {
      "id": "WS-de556b8f",
      "status": "affixed",
      "location": "vehicle-window"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "window-papers-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

itemize

windowSticker.itemize · GET /window-stickers/itemize · gate none · live · answers WindowStickerItemize@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /KMHL34J21PA307169 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — windowSticker.itemize
import { windowSticker } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await windowSticker.itemize({"vin":"KMHL34J21PA307169"})
GET /window-stickers/itemize
curl 'https://apis.vin/window-stickers/itemize?vin=KMHL34J21PA307169'

partsContent

windowSticker.partsContent · GET /window-stickers/parts-content · gate none · live · answers WindowStickerPartsContent@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /KMHL34J21PA307169 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — windowSticker.partsContent
import { windowSticker } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await windowSticker.partsContent({"vin":"KMHL34J21PA307169"})
GET /window-stickers/parts-content
curl 'https://apis.vin/window-stickers/parts-content?vin=KMHL34J21PA307169'

render

windowSticker.render · POST /window-stickers/render · gate offer · sandbox · answers WindowStickerRender@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) · /KMHL34J21PA307169 (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.

EmitsWindowSticker.rendered@1.

the SDK — windowSticker.render
import { windowSticker } from 'apis.vin'

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

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:19.242Z · HTTP 200
{
  "type": "OK",
  "answers": "WindowStickerRender@1",
  "value": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "rendition": {
      "id": "WS-de556b8f",
      "listingId": "LST-735fc2ce",
      "priceCents": 2300000,
      "currency": "USD",
      "status": "rendered",
      "format": "document"
    }
  },
  "evidence": {
    "vin": "KMHL34J21PA307169",
    "noun": "windowSticker",
    "asOf": "2026-08-10",
    "listingId": "LST-735fc2ce",
    "venue": "estate-storefront",
    "price": 2300000,
    "odometer": 38953,
    "photos": [
      {
        "setId": "PH-465668fc",
        "kind": "exterior",
        "shots": 8
      },
      {
        "setId": "PH-465668fc",
        "kind": "interior",
        "shots": 4
      }
    ],
    "daysOnLot": 7,
    "commercialState": "retail",
    "status": "Draft",
    "rendition": {
      "id": "WS-de556b8f",
      "listingId": "LST-735fc2ce",
      "priceCents": 2300000,
      "currency": "USD",
      "status": "rendered",
      "format": "document"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "window-papers-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.

Listing

Modeled

The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 2 diagrams, rendered from the estate model.

WindowSticker · Class model

WindowSticker · State machine


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