docs.vin

insurer

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

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

Identity

Nouninsurer
PillarServices (facets: 6 data · 8 services · 5 commerce)
Capabilities19 — 0 live · 19 sandbox · 0 declared
EntitiesInsurer
Doorsaggregator.vin
SDKVin.insurer.* from apis.vin
Address/catalog/insurer#{action} — the anchor IS the wire name minus insurer.

Events

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

Discover & read

lookup

insurer.lookup · GET /insurers/lookup · gate none · sandbox · answers InsurerLookup@1

FieldTypeRequiredNotes
vinstringno

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

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

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.729Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerLookup@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "carrier": {
      "mark": "sandbox-general",
      "lines": [
        "auto"
      ],
      "bindable": true
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "carrier": {
      "mark": "sandbox-general",
      "lines": [
        "auto"
      ],
      "bindable": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

read

insurer.read · GET /insurers/read · gate none · sandbox · answers InsurerRead@1

FieldTypeRequiredNotes
vinstringno

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

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

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.739Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerRead@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "carrier": {
      "mark": "sandbox-general",
      "lines": [
        "auto"
      ],
      "bindable": true
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "carrier": {
      "mark": "sandbox-general",
      "lines": [
        "auto"
      ],
      "bindable": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

claimHistory

insurer.claimHistory · GET /insurers/claim-history · gate key · sandbox · answers InsurerClaimHistory@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await insurer.claimHistory({"vin":"KM8R44GE1RU700471"})
GET /insurers/claim-history
curl 'https://apis.vin/insurers/claim-history?vin=KM8R44GE1RU700471'

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.699Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerClaimHistory@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "events": []
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "events": []
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

policyStatus

insurer.policyStatus · GET /insurers/policy-status · gate none · sandbox · answers InsurerPolicyStatus@1

FieldTypeRequiredNotes
vinstringno

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

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

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.729Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerPolicyStatus@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "policy": {
      "status": "bound",
      "quoteId": "iq_7e2345f3",
      "termMonths": 6
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "policy": {
      "status": "bound",
      "quoteId": "iq_7e2345f3",
      "termMonths": 6
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

coverageVerify

insurer.coverageVerify · GET /insurers/coverage-verify · gate key · sandbox · answers InsurerCoverageVerify@1

FieldTypeRequiredNotes
vinstringno

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

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await insurer.coverageVerify({"vin":"KM8R44GE1RU700471"})
GET /insurers/coverage-verify
curl 'https://apis.vin/insurers/coverage-verify?vin=KM8R44GE1RU700471'

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.706Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerCoverageVerify@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "verification": {
      "verified": true,
      "vin": "KM8R44GE1RU700471",
      "coverages": [
        "BI",
        "PD",
        "UMBI",
        "UMPD",
        "COMP",
        "COLL"
      ]
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "verification": {
      "verified": true,
      "vin": "KM8R44GE1RU700471",
      "coverages": [
        "BI",
        "PD",
        "UMBI",
        "UMPD",
        "COMP",
        "COLL"
      ]
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Quote & price

quote

insurer.quote · POST /insurers/quote · gate offer · sandbox · answers InsurerQuote@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.failed@1 · Insurer.quoted@1.

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

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

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.729Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerQuote@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "quote": {
      "quoteId": "iq_7e2345f3",
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "bindable": true,
      "premium": {
        "amount": "94565",
        "currency": "USD"
      },
      "termMonths": 6,
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premium": {
            "amount": "8847",
            "currency": "USD"
          }
        },
        {
          "code": "PD",
          "limit": 50000,
          "premium": {
            "amount": "16224",
            "currency": "USD"
          }
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premium": {
            "amount": "13361",
            "currency": "USD"
          }
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premium": {
            "amount": "18782",
            "currency": "USD"
          }
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premium": {
            "amount": "17721",
            "currency": "USD"
          }
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premium": {
            "amount": "19630",
            "currency": "USD"
          }
        }
      ],
      "effectiveDate": "2026-08-10",
      "expiresAt": "2026-09-09T00:00:00.000Z"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "quote": {
      "quoteId": "iq_7e2345f3",
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "bindable": true,
      "premium": {
        "amount": "94565",
        "currency": "USD"
      },
      "termMonths": 6,
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premium": {
            "amount": "8847",
            "currency": "USD"
          }
        },
        {
          "code": "PD",
          "limit": 50000,
          "premium": {
            "amount": "16224",
            "currency": "USD"
          }
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premium": {
            "amount": "13361",
            "currency": "USD"
          }
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premium": {
            "amount": "18782",
            "currency": "USD"
          }
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premium": {
            "amount": "17721",
            "currency": "USD"
          }
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premium": {
            "amount": "19630",
            "currency": "USD"
          }
        }
      ],
      "effectiveDate": "2026-08-10",
      "expiresAt": "2026-09-09T00:00:00.000Z"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

rate

insurer.rate · GET /insurers/rate · gate key · sandbox · answers InsurerRate@1

FieldTypeRequiredNotes
vinstringno

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

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

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.731Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerRate@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "rate": {
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "termMonths": 6,
      "totalPremiumCents": 94565,
      "currency": "USD",
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premiumCents": 8847
        },
        {
          "code": "PD",
          "limit": 50000,
          "premiumCents": 16224
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premiumCents": 13361
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premiumCents": 18782
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premiumCents": 17721
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premiumCents": 19630
        }
      ]
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "rate": {
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "termMonths": 6,
      "totalPremiumCents": 94565,
      "currency": "USD",
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premiumCents": 8847
        },
        {
          "code": "PD",
          "limit": 50000,
          "premiumCents": 16224
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premiumCents": 13361
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premiumCents": 18782
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premiumCents": 17721
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premiumCents": 19630
        }
      ]
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Apply & book

register

insurer.register · POST /insurers/register · gate offer · sandbox · answers InsurerRegister@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.registered@1.

the SDK — insurer.register
import { insurer } from 'apis.vin'

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

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.745Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerRegister@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "registration": {
      "status": "registered",
      "mark": "sandbox-general",
      "producerId": "sandbox-producer"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "registration": {
      "status": "registered",
      "mark": "sandbox-general",
      "producerId": "sandbox-producer"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

credential

insurer.credential · POST /insurers/credential · gate offer · sandbox · answers InsurerCredential@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.credentialed@1.

the SDK — insurer.credential
import { insurer } from 'apis.vin'

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

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.717Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerCredential@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "credential": {
      "id": "CRED-e0836ec4",
      "mark": "sandbox-general",
      "scope": "quote-bind-service",
      "status": "active"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "credential": {
      "id": "CRED-e0836ec4",
      "mark": "sandbox-general",
      "scope": "quote-bind-service",
      "status": "active"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

claimOpen

insurer.claimOpen · POST /insurers/claim-open · gate offer · sandbox · answers InsurerClaimOpen@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.claimOpened@1.

the SDK — insurer.claimOpen
import { insurer } from 'apis.vin'

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

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.699Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerClaimOpen@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "claim": {
      "status": "opened",
      "id": "CLM-a18b9ed4",
      "position": "Opened",
      "lossType": "collision"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "claim": {
      "status": "opened",
      "id": "CLM-a18b9ed4",
      "position": "Opened",
      "lossType": "collision"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

premiumCollect

insurer.premiumCollect · POST /insurers/premium-collect · gate offer · sandbox · answers InsurerPremiumCollect@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.failed@1 · Insurer.premiumCollected@1.

the SDK — insurer.premiumCollect
import { insurer } from 'apis.vin'

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

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.729Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerPremiumCollect@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "collection": {
      "amountCents": 94565,
      "currency": "USD",
      "termMonths": 6,
      "status": "collected"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "collection": {
      "amountCents": 94565,
      "currency": "USD",
      "termMonths": 6,
      "status": "collected"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

commissionRemit

insurer.commissionRemit · POST /insurers/commission-remit · gate offer · sandbox · answers InsurerCommissionRemit@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.commissionRemitted@1 · Insurer.failed@1.

the SDK — insurer.commissionRemit
import { insurer } from 'apis.vin'

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

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.700Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerCommissionRemit@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "remittance": {
      "producerId": "sandbox-producer",
      "commissionCents": 9457,
      "currency": "USD",
      "basis": "premium-decile",
      "status": "remitted"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "remittance": {
      "producerId": "sandbox-producer",
      "commissionCents": 9457,
      "currency": "USD",
      "basis": "premium-decile",
      "status": "remitted"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

payClaim

insurer.payClaim · POST /insurers/pay-claim · gate offer · sandbox · answers InsurerPayClaim@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.claimPaid@1 · Insurer.failed@1.

the SDK — insurer.payClaim
import { insurer } from 'apis.vin'

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

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.729Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerPayClaim@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "payment": {
      "status": "no-claim-on-file"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "payment": {
      "status": "no-claim-on-file"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

claimAdjudicate

insurer.claimAdjudicate · POST /insurers/claim-adjudicate · gate offer · sandbox · answers InsurerClaimAdjudicate@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.claimAdjudicated@1.

the SDK — insurer.claimAdjudicate
import { insurer } from 'apis.vin'

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

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.692Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerClaimAdjudicate@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "adjudication": {
      "status": "no-claim-on-file"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "adjudication": {
      "status": "no-claim-on-file"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

bind

insurer.bind · POST /insurers/bind · gate offer · sandbox · answers InsurerBind@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.bound@1.

the SDK — insurer.bind
import { insurer } from 'apis.vin'

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

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.691Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerBind@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "policy": {
      "policyNumber": "POL-950BB562",
      "quoteId": "iq_7f234786",
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "status": "bound",
      "premium": {
        "amount": "94565",
        "currency": "USD"
      },
      "termMonths": 6,
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premium": {
            "amount": "8847",
            "currency": "USD"
          }
        },
        {
          "code": "PD",
          "limit": 50000,
          "premium": {
            "amount": "16224",
            "currency": "USD"
          }
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premium": {
            "amount": "13361",
            "currency": "USD"
          }
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premium": {
            "amount": "18782",
            "currency": "USD"
          }
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premium": {
            "amount": "17721",
            "currency": "USD"
          }
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premium": {
            "amount": "19630",
            "currency": "USD"
          }
        }
      ],
      "effectiveDate": "2026-08-10",
      "expiresAt": "2027-02-06T00:00:00.000Z",
      "producer": {
        "licensed": true,
        "producerId": "sandbox-producer",
        "state": "CA"
      }
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "policy": {
      "policyNumber": "POL-950BB562",
      "quoteId": "iq_7f234786",
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "status": "bound",
      "premium": {
        "amount": "94565",
        "currency": "USD"
      },
      "termMonths": 6,
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premium": {
            "amount": "8847",
            "currency": "USD"
          }
        },
        {
          "code": "PD",
          "limit": 50000,
          "premium": {
            "amount": "16224",
            "currency": "USD"
          }
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premium": {
            "amount": "13361",
            "currency": "USD"
          }
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premium": {
            "amount": "18782",
            "currency": "USD"
          }
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premium": {
            "amount": "17721",
            "currency": "USD"
          }
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premium": {
            "amount": "19630",
            "currency": "USD"
          }
        }
      ],
      "effectiveDate": "2026-08-10",
      "expiresAt": "2027-02-06T00:00:00.000Z",
      "producer": {
        "licensed": true,
        "producerId": "sandbox-producer",
        "state": "CA"
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

cancelPolicy

insurer.cancelPolicy · POST /insurers/cancel-policy · gate offer · sandbox · answers InsurerCancelPolicy@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.policyCanceled@1.

the SDK — insurer.cancelPolicy
import { insurer } from 'apis.vin'

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

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.691Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerCancelPolicy@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "cancellation": {
      "status": "cancelled",
      "basis": "pro-rata",
      "unearnedRefundCents": 47283,
      "currency": "USD"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "cancellation": {
      "status": "cancelled",
      "basis": "pro-rata",
      "unearnedRefundCents": 47283,
      "currency": "USD"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

endorse

insurer.endorse · POST /insurers/endorse · gate offer · sandbox · answers InsurerEndorse@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.endorsed@1.

the SDK — insurer.endorse
import { insurer } from 'apis.vin'

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

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.723Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerEndorse@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "endorsement": {
      "id": "END-c94b66d8",
      "change": "add-lienholder",
      "effectiveOn": "2026-08-10",
      "status": "endorsed"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "endorsement": {
      "id": "END-c94b66d8",
      "change": "add-lienholder",
      "effectiveOn": "2026-08-10",
      "status": "endorsed"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

issuePolicy

insurer.issuePolicy · POST /insurers/issue-policy · gate offer · sandbox · answers InsurerIssuePolicy@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.policyIssued@1.

the SDK — insurer.issuePolicy
import { insurer } from 'apis.vin'

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

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.724Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerIssuePolicy@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "policy": {
      "policyNumber": "POL-950BB562",
      "quoteId": "iq_7f234786",
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "status": "bound",
      "premium": {
        "amount": "94565",
        "currency": "USD"
      },
      "termMonths": 6,
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premium": {
            "amount": "8847",
            "currency": "USD"
          }
        },
        {
          "code": "PD",
          "limit": 50000,
          "premium": {
            "amount": "16224",
            "currency": "USD"
          }
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premium": {
            "amount": "13361",
            "currency": "USD"
          }
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premium": {
            "amount": "18782",
            "currency": "USD"
          }
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premium": {
            "amount": "17721",
            "currency": "USD"
          }
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premium": {
            "amount": "19630",
            "currency": "USD"
          }
        }
      ],
      "effectiveDate": "2026-08-10",
      "expiresAt": "2027-02-06T00:00:00.000Z",
      "producer": {
        "licensed": true,
        "producerId": "sandbox-producer",
        "state": "CA"
      }
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "policy": {
      "policyNumber": "POL-950BB562",
      "quoteId": "iq_7f234786",
      "vin": "KM8R44GE1RU700471",
      "carrier": "sandbox-general",
      "status": "bound",
      "premium": {
        "amount": "94565",
        "currency": "USD"
      },
      "termMonths": 6,
      "coverages": [
        {
          "code": "BI",
          "limit": 93000,
          "premium": {
            "amount": "8847",
            "currency": "USD"
          }
        },
        {
          "code": "PD",
          "limit": 50000,
          "premium": {
            "amount": "16224",
            "currency": "USD"
          }
        },
        {
          "code": "UMBI",
          "limit": 38000,
          "premium": {
            "amount": "13361",
            "currency": "USD"
          }
        },
        {
          "code": "UMPD",
          "limit": 95000,
          "premium": {
            "amount": "18782",
            "currency": "USD"
          }
        },
        {
          "code": "COMP",
          "limit": 91000,
          "premium": {
            "amount": "17721",
            "currency": "USD"
          }
        },
        {
          "code": "COLL",
          "limit": 75000,
          "premium": {
            "amount": "19630",
            "currency": "USD"
          }
        }
      ],
      "effectiveDate": "2026-08-10",
      "expiresAt": "2027-02-06T00:00:00.000Z",
      "producer": {
        "licensed": true,
        "producerId": "sandbox-producer",
        "state": "CA"
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

refundUnearned

insurer.refundUnearned · POST /insurers/refund-unearned · gate offer · sandbox · answers InsurerRefundUnearned@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) · /KM8R44GE1RU700471 (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.

EmitsInsurer.failed@1 · Insurer.unearnedRefunded@1.

the SDK — insurer.refundUnearned
import { insurer } from 'apis.vin'

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

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.739Z · HTTP 200
{
  "type": "OK",
  "answers": "InsurerRefundUnearned@1",
  "value": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "refund": {
      "amountCents": 47283,
      "currency": "USD",
      "basis": "pro-rata",
      "status": "refunded"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "partyId": "PTY-9eaf9827",
    "type": "organization",
    "name": "sandbox-general",
    "identifiers": [
      {
        "kind": "carrier-mark",
        "value": "sandbox-general"
      },
      {
        "kind": "naic",
        "value": "35772"
      }
    ],
    "roles": [
      {
        "role": "insurer"
      }
    ],
    "status": "active",
    "vin": "KM8R44GE1RU700471",
    "noun": "insurer",
    "asOf": "2026-08-10",
    "refund": {
      "amountCents": 47283,
      "currency": "USD",
      "basis": "pro-rata",
      "status": "refunded"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "risk-money-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.

Insurer

Relationships

FromToCardinalityAs
insuranceinsurer*:1carried-by
partyinsurerISAis-a

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.

Insurer · Class model

Insurer · Class model

Insurer · State machine

Insurer · 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.