docs.vin

cpo

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

cpo 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

Nouncpo
PillarData (facets: 5 data · 5 services · 3 commerce)
Capabilities13 — 0 live · 13 sandbox · 0 declared
EntitiesCpo
Doorsaggregator.vin
SDKVin.cpo.* from apis.vin
Address/catalog/cpo#{action} — the anchor IS the wire name minus cpo.

Lifecycle

CpoCpoFSM: 3 states, 3 transitions — Inspected · Certified · Failed. Each transition is a past-tense event on the record.

Events

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

Discover & read

read

cpo.read · GET /cpos/read · gate none · sandbox · answers CpoRead@1

FieldTypeRequiredNotes
vinstringno

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

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

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:09.834Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoRead@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "cpo": {
      "position": "Certified",
      "eligible": true,
      "certificateId": "CPO-a5973474",
      "warrantyEnrolled": true
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "cpo": {
      "position": "Certified",
      "eligible": true,
      "certificateId": "CPO-a5973474",
      "warrantyEnrolled": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

status

cpo.status · GET /cpos/status · gate none · sandbox · answers CpoStatus@1

FieldTypeRequiredNotes
vinstringno

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

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

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:09.843Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoStatus@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "cpo": {
      "position": "Certified",
      "eligible": true,
      "certificateId": "CPO-a5973474",
      "warrantyEnrolled": true
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "cpo": {
      "position": "Certified",
      "eligible": true,
      "certificateId": "CPO-a5973474",
      "warrantyEnrolled": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

eligibility

cpo.eligibility · GET /cpos/eligibility · gate key · sandbox · answers CpoEligibility@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await cpo.eligibility({"vin":"W1W4NBVY0RT170369"})
GET /cpos/eligibility
curl 'https://apis.vin/cpos/eligibility?vin=W1W4NBVY0RT170369'

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:09.816Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoEligibility@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "eligibility": {
      "eligible": true
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "eligibility": {
      "eligible": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

checklist

cpo.checklist · GET /cpos/checklist · gate none · sandbox · answers CpoChecklist@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await cpo.checklist({"vin":"W1W4NBVY0RT170369"})
GET /cpos/checklist
curl 'https://apis.vin/cpos/checklist?vin=W1W4NBVY0RT170369'

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:09.809Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoChecklist@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "checklist": [
      {
        "point": "mechanical",
        "result": "passed"
      },
      {
        "point": "electrical",
        "result": "passed"
      },
      {
        "point": "cosmetic",
        "result": "passed"
      },
      {
        "point": "road-test",
        "result": "passed"
      },
      {
        "point": "history-review",
        "result": "passed"
      }
    ]
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "checklist": [
      {
        "point": "mechanical",
        "result": "passed"
      },
      {
        "point": "electrical",
        "result": "passed"
      },
      {
        "point": "cosmetic",
        "result": "passed"
      },
      {
        "point": "road-test",
        "result": "passed"
      },
      {
        "point": "history-review",
        "result": "passed"
      }
    ]
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Quote & price

quote

cpo.quote · POST /cpos/quote · gate offer · sandbox · answers CpoQuote@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.failed@1 · Cpo.quoted@1.

the SDK — cpo.quote
import { cpo } from 'apis.vin'

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

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:09.832Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoQuote@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "quote": {
      "amountCents": 42500,
      "currency": "USD",
      "status": "quoted"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "quote": {
      "amountCents": 42500,
      "currency": "USD",
      "status": "quoted"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

certificationFee

cpo.certificationFee · POST /cpos/certification-fee · gate offer · sandbox · answers CpoCertificationFee@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.certificationFeeAssessed@1 · Cpo.failed@1.

the SDK — cpo.certificationFee
import { cpo } from 'apis.vin'

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

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:09.805Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoCertificationFee@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "quote": {
      "amountCents": 42500,
      "currency": "USD",
      "status": "assessed"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "quote": {
      "amountCents": 42500,
      "currency": "USD",
      "status": "assessed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

warrantyTerms

cpo.warrantyTerms · GET /cpos/warranty-terms · gate key · sandbox · answers CpoWarrantyTerms@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await cpo.warrantyTerms({"vin":"W1W4NBVY0RT170369"})
GET /cpos/warranty-terms
curl 'https://apis.vin/cpos/warranty-terms?vin=W1W4NBVY0RT170369'

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:09.853Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoWarrantyTerms@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "terms": {
      "powertrainMonths": 84,
      "powertrainMiles": 100000,
      "comprehensiveMonths": 12,
      "comprehensiveMiles": 12000,
      "roadsideAssistance": true,
      "deductibleCents": 5000,
      "factoryWarranty": "active",
      "eligible": true
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "terms": {
      "powertrainMonths": 84,
      "powertrainMiles": 100000,
      "comprehensiveMonths": 12,
      "comprehensiveMiles": 12000,
      "roadsideAssistance": true,
      "deductibleCents": 5000,
      "factoryWarranty": "active",
      "eligible": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

cpo.pay · POST /cpos/pay · gate offer · sandbox · answers CpoPay@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.failed@1 · Cpo.paid@1.

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

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

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:09.832Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoPay@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "payment": {
      "id": "PAY-f4876d85",
      "amountCents": 42500,
      "currency": "USD",
      "status": "settled"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "payment": {
      "id": "PAY-f4876d85",
      "amountCents": 42500,
      "currency": "USD",
      "status": "settled"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Fulfill & operate

inspect

cpo.inspect · POST /cpos/inspect · gate offer · sandbox · answers CpoInspect@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.inspected@1 · Cpo.requested@1.

the SDK — cpo.inspect
import { cpo } from 'apis.vin'

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

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:09.817Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoInspect@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "inspection": {
      "status": "already-certified",
      "certificateId": "CPO-a5973474"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "inspection": {
      "status": "already-certified",
      "certificateId": "CPO-a5973474"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

certify

cpo.certify · POST /cpos/certify · gate offer · sandbox · answers CpoCertify@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.certified@1.

the SDK — cpo.certify
import { cpo } from 'apis.vin'

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

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:09.809Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoCertify@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "certification": {
      "status": "already-certified",
      "certificateId": "CPO-a5973474"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "certification": {
      "status": "already-certified",
      "certificateId": "CPO-a5973474"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

decertify

cpo.decertify · POST /cpos/decertify · gate offer · sandbox · answers CpoDecertify@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.decertified@1.

the SDK — cpo.decertify
import { cpo } from 'apis.vin'

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

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:09.813Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoDecertify@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "decertification": {
      "status": "decertified",
      "certificateId": "CPO-a5973474"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "decertification": {
      "status": "decertified",
      "certificateId": "CPO-a5973474"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

recertify

cpo.recertify · POST /cpos/recertify · gate offer · sandbox · answers CpoRecertify@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.recertified@1.

the SDK — cpo.recertify
import { cpo } from 'apis.vin'

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

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:09.843Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoRecertify@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "certification": {
      "status": "recertified",
      "certificateId": "CPO-a5973474"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "certification": {
      "status": "recertified",
      "certificateId": "CPO-a5973474"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

enrollWarranty

cpo.enrollWarranty · POST /cpos/enroll-warranty · gate offer · sandbox · answers CpoEnrollWarranty@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) · /W1W4NBVY0RT170369 (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.

EmitsCpo.warrantyEnrolled@1.

the SDK — cpo.enrollWarranty
import { cpo } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await cpo.enrollWarranty({"vin":"W1W4NBVY0RT170369"})
POST /cpos/enroll-warranty
curl -X POST https://apis.vin/cpos/enroll-warranty \
  -H 'content-type: application/json' \
  -d '{"vin":"W1W4NBVY0RT170369"}'

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:09.817Z · HTTP 200
{
  "type": "OK",
  "answers": "CpoEnrollWarranty@1",
  "value": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "enrollment": {
      "id": "EW-7c0d61e1",
      "certificateId": "CPO-a5973474",
      "terms": {
        "powertrainMonths": 84,
        "powertrainMiles": 100000,
        "comprehensiveMonths": 12,
        "comprehensiveMiles": 12000,
        "roadsideAssistance": true,
        "deductibleCents": 5000
      },
      "amountCents": 89500,
      "currency": "USD",
      "status": "enrolled"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "W1W4NBVY0RT170369",
    "noun": "cpo",
    "asOf": "2026-08-10",
    "position": "Certified",
    "enrollment": {
      "id": "EW-7c0d61e1",
      "certificateId": "CPO-a5973474",
      "terms": {
        "powertrainMonths": 84,
        "powertrainMiles": 100000,
        "comprehensiveMonths": 12,
        "comprehensiveMiles": 12000,
        "roadsideAssistance": true,
        "deductibleCents": 5000
      },
      "amountCents": 89500,
      "currency": "USD",
      "status": "enrolled"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "stock-and-book-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.

Cpo

Schema

PropertyTypeNotes
ididcpo_
vinstring
dealerIdref→Dealer
programstring
statusCpoFSM

Relationships

FromToCardinalityAs
cpovehicle*:1certifies

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