Skip to main content
Glama

Instant insurance quote estimates

quote_insurance
Read-only

Purpose: generate instant, itemized quote estimates from the carriers Foresee supports, across the lines and states Foresee currently serves, in one call — the LIVE TODAY line at the end of this description names today's set.

`lines` is REQUIRED and is ONE map: each key names a line to price (e.g.
"auto", "renters", "home" — plain words are fine), each value is that
line's coverage ask as actual numbers. A line Foresee doesn't quote in
the user's state comes back under `skipped`: `lines` names each one and
`message` is one sentence, written to be relayed to the user as-is,
naming what Foresee does quote in that state. For auto
the ask has four axes — `bi` (bodily-injury liability, per-person/
per-accident in $000s, e.g. "100/300"), `pd` (property-damage liability in
$000s, e.g. 100), `coll_deductible` (collision deductible in dollars, e.g.
500) and `comp_deductible` (comprehensive deductible in dollars, e.g.
500); `um` and `medpay` are optional. A renters ask has four axes —
`coverage_c` (personal-property/contents limit in dollars, e.g. 30000),
`coverage_e` (personal liability in dollars, e.g. 100000), `coverage_f`
(guest medical in dollars, e.g. 1000) and `deductible` (all-perils, in
dollars, e.g. 500); `coverage_d` is optional. A home ask: `coverage_a`
(the dwelling's replacement cost in dollars), `coverage_e` (e.g. 300000),
`coverage_f` (e.g. 1000) and `aop_deductible` (all-other-perils
deductible in dollars, e.g. 1000). There are no named coverage levels
and the server never defaults: pass exact numbers. An omitted OPTIONAL
axis (`um`, `medpay`, `coverage_d`) keeps each carrier's own
default — the quote's per-coverage lines show what was rated. Any
numbers at or above the state's legal minimum work as the ask (an auto
`bi`/`pd` below it prices nothing — no carrier may sell that policy — and
comes back under `coverage_required` naming the minimum); each carrier's
`price_ladder` prices every other rung, so a starting
selection is easy to refine after the fact. An incomplete ask on a
live line prices nothing and answers with `coverage_required` naming that
line's own axes; an axis supplied with a value no carrier offers (`bi`
"banana", a negative deductible) is refused the same way, naming the bad
value and the format the axis takes. Each supported carrier is priced at
the selection given; a carrier that doesn't offer an asked rung is priced
at its nearest offered one and says so: its entry carries
`rated_vs_asked` (per axis: `asked`, `rated`, and `coverage` "less"/"more"
than asked; the dense text puts it on the `C` row as `rated`). That price is NOT
like-for-like — state the rated limits next to it every time you show it
(e.g. "$255/mo — 30/60 BI / $25k PD, the most this carrier offers, not
the 100/300 / $100k you asked for"), and never let it headline or anchor
a cheapest/spread claim without saying so. A carrier Foresee can't price
appears in `failures` with the reason, as does one Foresee can't price
for a line it was asked on (no program served there yet, or the carrier
doesn't sell that line in the state) — a carrier never silently vanishes
from a line's results. Priced results come back per line under
`by_line`.

Profile requirements: ZIP code, age (or dob) and — for auto — each
vehicle's year/make/model are REQUIRED; they have no server-side
fallback. A missing or mistyped one errors at the schema with guidance;
a value that fits the schema but cannot rate ("not-a-zip", a negative
age) comes back in `profile_required` naming it, with guidance on what
the field takes. Use the profile schema's exact field names: a key the
schema doesn't name is carried but never rated. A complete call — a
25-year-old in Oakland with a 2021 Civic, a January 2025 speeding ticket
and a 2023 at-fault accident, asking for 100/300 BI, $100k PD and $500
collision/comprehensive deductibles:
{"profile": {"zip_code": "94621", "age": 25, "auto": {"drivers": [{"violations": [{"on": "2025-01", "kind": "speeding"}], "accidents": [{"on": "2023-06-15", "at_fault": true, "amount": 4200}]}], "vehicles": [{"year": 2021, "make": "Honda", "model": "Civic"}]}}, "lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}}}
Every violation needs `kind` and `on`, every accident `on`; an
incomplete entry is refused naming its path, never assumed away.

Each carrier returns a **point estimate**
(`monthly`) plus a `confidence_interval` that reflects only what's genuinely
unresolvable (irreducible), NOT missing profile fields. A field the caller
omits is filled with ONE declared value and reported in `assumptions` /
`tighten_by` (the reducible "tell us X and we sharpen" gap) — the response
is built to be presented early and refined, never widened into
a vague range. Each entry's `field` is the exact profile path to send
the user's real answer under (e.g. `auto.drivers[].violations`), and
`tighten_by` lists those same paths. The one exception is
`incident_details`: it is answered by completing the incident entries
already sent (dates, fault, BI split), not under a fresh key.

Each carrier's `quote` carries every sub-coverage line (BI/PD/collision/
comprehensive/UM…) with its monthly price, at the selection you passed (echoed
as `coverage_selection`). Most carriers also carry a `price_ladder`: for each
coverage lever of the line (auto: BI limit, PD limit, collision/comprehensive
deductible; renters: deductible and the C/E/F limits; home: AOP deductible
and the A/E/F limits) the exact
price at every rung, one lever moved at a time with everything else
held at the user's selection — the ladder is anchored at the selection you
passed, so its `anchor.monthly` is the carrier's `monthly`. It answers
limit/deductible what-ifs with real marginal prices.
Every ladder number IS an exact re-rate; a combined change or an unlisted
rung has no derivable price (rating is not linear), so those price only
through a re-call with the new `coverage_selection`. A profile what-if
(a cleaner record, another vehicle, a different ZIP) prices the same way:
re-call with the changed profile.

RESULT FORMAT: compact machine text on dense, one section per line. Each section opens Q sel=<the coverage_selection priced, as JSON>. assumptions:, tighten_by:, input_flags: and not_rated: carry those fields; each entry's field (and each tighten_by item) is the profile path to send the user's answer under, and incident_details is answered by completing the incident entries already sent. not_priced: ,…: ; … is the line's failures, grouped by reason. skipped ,…: names the lines not quoted in this state. Row types — C: carrier|entity|monthly|ci lo-hi, then |rated =(asked ,less|more);… when the price is for a rung other than the ask (rated_vs_asked). W: a warning on the carrier above. L: monthly $ per coverage line (already monthly, every carrier), under codes that mean the same coverage at every carrier: BI PD UMBI UIMBI UMPD MEDPAY PIP COLL COMP RENTAL TOWING GAP; A+B is one premium covering both (BI+PD); FEE is a flat fee; any other code is a coverage only that carrier sells. D =option:±$: the change in the carrier's monthly for each option of that lever, everything else held at the selection; (asked ) means X is not an option and the price sits at the selected rung — answer deductible/limit what-ifs from D without another call (new monthly = monthly + delta). Only state numbers that appear in the result or follow from monthly + a D delta; if a rung is not in D for a carrier, say the carrier has no such option rather than guessing.

When the user wants firm numbers straight from the carriers, offer live carrier quotes: Foresee agents complete the carriers' real quote flows via live_carrier_quotes (which explains the required disclosure + consent affirmation; no sign-in is needed). Instant quotes stay the first answer; live quotes are the follow-up.

LIVE TODAY: Foresee quotes auto in CA today.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
linesYes
profileYes
carriersNoPrice only these carriers, named by the `carrier_key` results carry (e.g. ["geico", "statefarm"]). Omit to price every carrier Foresee supports; a named carrier Foresee can't price comes back in `failures`.
include_failuresNoReport each carrier Foresee couldn't price under `failures`, with the reason. Leave true unless the user asked to see priced carriers only.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
denseNo
errorNo
stateNo
bundleNo
detailNo
by_lineNo
messageNo
skippedNo
serviceableNo
presentationNo
profile_requiredNo
coverage_requiredNo
example_argumentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / $defs / PropertyBlock / properties / protection_class
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "ISO fire protection class, 1-10",
      -  "title": "Protection Class"
      -}
  2. Changed5 schema fields changed
    • addedInput schema / $defs / DriverInput / properties / full_time_student
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Enrolled full time in high school, college or university",
      +  "title": "Full Time Student"
      +}
    • addedInput schema / $defs / DriverInput / properties / good_student
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Grades that earn a good-student discount (usually a B average or better)",
      +  "title": "Good Student"
      +}
    • addedInput schema / $defs / DriverInput / properties / student_away
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "A student living away at school, without any of the policy's cars",
      +  "title": "Student Away"
      +}
    • addedInput schema / $defs / VehicleInput / properties / owner
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Whose car it is, by relation to the applicant: 'self' / 'spouse' / 'domestic partner' / 'child' / 'parent' / 'sibling' / 'other'",
      +  "title": "Owner"
      +}
    • addedInput schema / $defs / VehicleInput / properties / principal_driver
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Who mainly drives it: the driver's place in auto.drivers, 1 = first listed",
      +  "title": "Principal Driver"
      +}
  3. Changed8 schema fields changed
    • removedInput schema / $defs / DriverInput / properties / dob / anyOf
      Removed value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / $defs / DriverInput / properties / dob / format
      Added value: +"date"
    • addedInput schema / $defs / DriverInput / properties / dob / type
      Added value: +"string"
    • addedInput schema / $defs / QuoteProfile / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "age"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "dob"
      +    ]
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / age / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 120,
      +    "minimum": 16,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / $defs / QuoteProfile / properties / dob / anyOf
      Removed value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / $defs / QuoteProfile / properties / dob / format
      Added value: +"date"
    • addedInput schema / $defs / QuoteProfile / properties / dob / type
      Added value: +"string"
  4. Changed8 schema fields changed
    • addedInput schema / properties / carriers / description
      Added value: +"Price only these carriers, named by the `carrier_key` results carry (e.g. [\"geico\", \"statefarm\"]). Omit to price every carrier Foresee supports; a named carrier Foresee can't price comes back in `failures`."
    • addedInput schema / properties / include_failures / description
      Added value: +"Report each carrier Foresee couldn't price under `failures`, with the reason. Leave true unless the user asked to see priced carriers only."
    • removedInput schema / properties / include_partial
      Removed value: -{
      -  "default": false,
      -  "title": "Include Partial",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / lines / $ref
      Added value: +"#/$defs/LinesInput"
    • removedInput schema / properties / lines / anyOf
      Removed value: -[
      -  {
      -    "$ref": "#/$defs/LinesInput"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / lines / default
      Removed value: -null
    • addedInput schema / properties / lines / type
      Added value: +"object"
    • changedInput schema / required
      Previous value: -[
      -  "profile"
      -]New value: +[
      +  "profile",
      +  "lines"
      +]
  5. Changed100 schema fields changed
    • removedInput schema / $defs / AccidentInput / description
      Removed value: -"One accident, dated, on the driver who had it."
    • changedInput schema / $defs / AccidentInput / properties / amount / description
      Previous value: -"Total damage paid out in dollars, if known"New value: +"Damage paid out, dollars"
    • removedInput schema / $defs / AccidentInput / properties / at_fault / description
      Removed value: -"Whether this driver was at fault"
    • changedInput schema / $defs / AccidentInput / properties / on / description
      Previous value: -"When it happened — ISO 8601, reduced precision welcome (\"2023\")."New value: +"When it happened: YYYY, YYYY-MM or YYYY-MM-DD"
    • addedInput schema / $defs / AccidentInput / properties / on / pattern
      Added value: +"^\\d{4}(?:-\\d{2}){0,2}$"
    • addedInput schema / $defs / AutoAsk
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "bi": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Bodily-injury liability limit, per-person/per-accident in $000s, e.g. \"100/300\"",
      +      "title": "Bi"
      +    },
      +    "coll_deductible": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Collision deductible in dollars, e.g. 500",
      +      "title": "Coll Deductible"
      +    },
      +    "comp_deductible": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Comprehensive deductible in dollars, e.g. 500",
      +      "title": "Comp Deductible"
      +    },
      +    "medpay": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Medical-payments limit in dollars, e.g. 5000",
      +      "title": "Medpay"
      +    },
      +    "pd": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Property-damage liability limit in $000s, e.g. 100",
      +      "title": "Pd"
      +    },
      +    "um": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Uninsured/underinsured-motorist BI limit in $000s, e.g. \"100/300\"",
      +      "title": "Um"
      +    }
      +  },
      +  "title": "AutoAsk",
      +  "type": "object"
      +}
    • changedInput schema / $defs / AutoBlock / description
      Previous value: -"The auto line's facts: who drives, and what. Omit the whole block for a\nhousehold that isn't asking about a car — nothing about a vehicle is ever\nassumed for a profile without one."New value: +"Omit it for a household without a car."
    • changedInput schema / $defs / AutoBlock / properties / drivers / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/DriverInput"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/DriverInput"
      +    },
      +    "maxItems": 10,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / AutoBlock / properties / vehicles / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/VehicleInput"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/VehicleInput"
      +    },
      +    "maxItems": 10,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / $defs / CoverageSelectionInput
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "The coverage to price, as actual numbers on named axes — the value of\neach entry in the `lines` map. Each line reads only its own axes; the map\nkey says which apply.",
      -  "properties": {
      -    "aop_deductible": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "HOME: all-other-perils deductible in dollars, e.g. 1000",
      -      "title": "Aop Deductible"
      -    },
      -    "bi": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Bodily-injury liability limit, per-person/per-accident in $000s, e.g. \"100/300\"",
      -      "title": "Bi"
      -    },
      -    "coll_deductible": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Collision deductible in dollars, e.g. 500",
      -      "title": "Coll Deductible"
      -    },
      -    "comp_deductible": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Comprehensive deductible in dollars, e.g. 500",
      -      "title": "Comp Deductible"
      -    },
      -    "coverage_a": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "HOME: dwelling limit in dollars — set it to the dwelling's replacement cost (the profile's property.replacement_cost when known)",
      -      "title": "Coverage A"
      -    },
      -    "coverage_c": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "RENTERS: personal-property (contents) limit in dollars, e.g. 30000 — the anchor an HO-4 rates off",
      -      "title": "Coverage C"
      -    },
      -    "coverage_d": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "RENTERS: loss-of-use limit in dollars — omit to keep the engine's carrier default (commonly a fixed ratio of the contents limit)",
      -      "title": "Coverage D"
      -    },
      -    "coverage_e": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "RENTERS/HOME: personal liability limit in dollars, e.g. 100000 (renters) / 300000 (home)",
      -      "title": "Coverage E"
      -    },
      -    "coverage_f": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "RENTERS/HOME: guest medical (medical payments to others) limit in dollars, e.g. 1000",
      -      "title": "Coverage F"
      -    },
      -    "deductible": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "RENTERS: all-perils deductible in dollars, e.g. 500",
      -      "title": "Deductible"
      -    },
      -    "medpay": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Medical-payments limit in dollars, e.g. 5000 — omit to keep the carrier's default",
      -      "title": "Medpay"
      -    },
      -    "pd": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Property-damage liability limit in $000s (NOT dollars), e.g. 100",
      -      "title": "Pd"
      -    },
      -    "um": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Uninsured/underinsured-motorist BI limit in $000s, e.g. \"100/300\" — omit to keep the carrier's default",
      -      "title": "Um"
      -    }
      -  },
      -  "title": "CoverageSelectionInput",
      -  "type": "object"
      -}
    • changedInput schema / $defs / DriverInput / description
      Previous value: -"One driver on the policy. Exactly one driver is the applicant\n(`relation` omitted or \"self\") and takes their demographics from the\nprofile's top level — restating them here is fine when they agree,\nan error when they don't."New value: +"One driver on the policy. The applicant is the driver with relation\n\"self\"; any of their details restated here must match the profile's top\nlevel."
    • changedInput schema / $defs / DriverInput / properties / accidents / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/AccidentInput"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/AccidentInput"
      +    },
      +    "maxItems": 20,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / age_first_licensed / description
      Previous value: -"Age when first licensed, typically 16-18 (Liberty Mutual asks)"New value: +"Age when first licensed"
    • changedInput schema / $defs / DriverInput / properties / date_first_licensed / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / date_first_licensed / description
      Previous value: -"Date first licensed, YYYY-MM-DD (alternative to age_first_licensed)"New value: +"YYYY-MM-DD; alternative to age_first_licensed"
    • changedInput schema / $defs / DriverInput / properties / defensive_driving_course / description
      Previous value: -"Completed a defensive-driving / accident-prevention course, last 3 years"New value: +"Completed a defensive-driving course in the last 3 years"
    • changedInput schema / $defs / DriverInput / properties / dob / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / dob / description
      Previous value: -"Date of birth, YYYY-MM-DD"New value: +"YYYY-MM-DD"
    • removedInput schema / $defs / DriverInput / properties / drivers_license_number
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Driver's license number — identity like the name, supplied only when a carrier's needs entry asks for it (some carrier forms insist on one for every rated driver before quoting). This entry is every driver's ONE home for it, the applicant's included",
      -  "title": "Drivers License Number"
      -}
    • removedInput schema / $defs / DriverInput / properties / exclusion_reason / description
      Removed value: -"Why an excluded driver doesn't drive, e.g. 'never had a license' — carriers (Allstate) require it for an excluded spouse"
    • removedInput schema / $defs / DriverInput / properties / first_name
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Legal first name — live carrier forms insist on naming every listed driver (a married applicant's spouse especially); the applicant's own name rides in `identity` instead (logged as PII, never echoed)",
      -  "title": "First Name"
      -}
    • removedInput schema / $defs / DriverInput / properties / last_name
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Legal last name (see first_name)",
      -  "title": "Last Name"
      -}
    • removedInput schema / $defs / DriverInput / properties / license_state
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Two-letter state that issued this driver's license",
      -  "title": "License State"
      -}
    • changedInput schema / $defs / DriverInput / properties / relation / description
      Previous value: -"\"self\" (default for the first driver), \"spouse\", \"child\", \"parent\", \"other\""New value: +"\"self\" / \"spouse\" / \"child\" / \"parent\" / \"other\""
    • changedInput schema / $defs / DriverInput / properties / rideshare_use / description
      Previous value: -"Drives for ride-share or delivery (Uber, Lyft…) — personal policies exclude livery use, so this changes eligibility and rate"New value: +"Drives for ride-share or delivery"
    • removedInput schema / $defs / DriverInput / properties / sr22_required / description
      Removed value: -"Needs an SR-22 / financial-responsibility filing"
    • changedInput schema / $defs / DriverInput / properties / status / description
      Previous value: -"'licensed' (default) / 'permit' / 'not licensed' / 'excluded' — an excluded driver is listed on the household but not rated"New value: +"'licensed' (default) / 'permit' / 'not licensed' / 'excluded'"
    • changedInput schema / $defs / DriverInput / properties / violations / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "$ref": "#/$defs/ViolationInput"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/ViolationInput"
      +    },
      +    "maxItems": 20,
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / $defs / DriverInput / properties / years_licensed / description
      Added value: +"Years since first licensed"
    • removedInput schema / $defs / DriverInput / properties / years_licensed_outside_us
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Years licensed outside the US; 0 = never held a licence abroad — GEICO, The General and Dairyland's live quote forms require the answer",
      -  "title": "Years Licensed Outside Us"
      -}
    • removedInput schema / $defs / DriverInput / properties / years_licensed_us
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Years licensed in the US, when it differs from years_licensed",
      -  "title": "Years Licensed Us"
      -}
    • changedInput schema / $defs / HeldPolicyInput / description
      Previous value: -"A policy the household already holds. A carrier's bundle discount\napplies only to a policy THAT carrier's group writes, so the writer is\nhalf the fact: name it, or no carrier's discount applies."New value: +"A policy the household already holds."
    • changedInput schema / $defs / HeldPolicyInput / properties / carrier / description
      Previous value: -"Who writes it, as the household would say it: \"State Farm\", \"Farmers\", \"AAA\". Without it no carrier gives a multi-policy discount"New value: +"Who writes it, e.g. \"State Farm\""
    • removedInput schema / $defs / HeldPolicyInput / properties / in_force / description
      Removed value: -"False for a policy that has lapsed or been cancelled"
    • addedInput schema / $defs / HomeAsk
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "aop_deductible": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "All-other-perils deductible in dollars, e.g. 1000",
      +      "title": "Aop Deductible"
      +    },
      +    "coverage_a": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Dwelling limit in dollars — the dwelling's replacement cost",
      +      "title": "Coverage A"
      +    },
      +    "coverage_e": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Personal liability limit in dollars, e.g. 300000",
      +      "title": "Coverage E"
      +    },
      +    "coverage_f": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Guest medical (medical payments to others) limit in dollars, e.g. 1000",
      +      "title": "Coverage F"
      +    }
      +  },
      +  "title": "HomeAsk",
      +  "type": "object"
      +}
    • addedInput schema / $defs / LinesInput
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "The coverage to price, one entry per line.",
      +  "properties": {
      +    "auto": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/AutoAsk"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "home": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/HomeAsk"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "renters": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/RentersAsk"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    }
      +  },
      +  "title": "LinesInput",
      +  "type": "object"
      +}
    • changedInput schema / $defs / LossInput / description
      Previous value: -"One prior property loss, dated."New value: +"One prior property loss."
    • changedInput schema / $defs / LossInput / properties / amount / description
      Previous value: -"Amount paid out in dollars, if known"New value: +"Paid out, dollars"
    • changedInput schema / $defs / LossInput / properties / on / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / LossInput / properties / on / description
      Previous value: -"When it happened — ISO 8601, reduced precision welcome"New value: +"When it happened: YYYY, YYYY-MM or YYYY-MM-DD"
    • changedInput schema / $defs / PriorInsuranceInput / description
      Previous value: -"The insurance carried now. `since`/`until` are the fact behind every way\na form asks how long it ran — tenure is derived from the dates, never sent\nas its own number."New value: +"The insurance carried now."
    • removedInput schema / $defs / PriorInsuranceInput / properties / carrier / description
      Removed value: -"Current carrier's name"
    • removedInput schema / $defs / PriorInsuranceInput / properties / insured / description
      Removed value: -"Currently insured?"
    • removedInput schema / $defs / PriorInsuranceInput / properties / lapse
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Any lapse in coverage in the last 12 months",
      -  "title": "Lapse"
      -}
    • removedInput schema / $defs / PriorInsuranceInput / properties / limits
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Bodily-injury limits carried now, e.g. \"100/300\" — carriers ask it of the insured",
      -  "title": "Limits"
      -}
    • changedInput schema / $defs / PriorInsuranceInput / properties / since / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PriorInsuranceInput / properties / since / description
      Previous value: -"When this coverage started — ISO 8601, reduced precision welcome (\"2019\")"New value: +"Start date: YYYY, YYYY-MM or YYYY-MM-DD"
    • changedInput schema / $defs / PriorInsuranceInput / properties / until / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PriorInsuranceInput / properties / until / description
      Previous value: -"When it ends/ended — ISO 8601, reduced precision welcome; omit while the cover is still in force"New value: +"End date: YYYY, YYYY-MM or YYYY-MM-DD; omit while in force"
    • changedInput schema / $defs / PropertyBlock / description
      Previous value: -"The dwelling's facts — used by home AND renters. Accepted and recorded\ntoday; priced once a property line launches."New value: +"The dwelling, for home and renters."
    • changedInput schema / $defs / PropertyBlock / properties / household / description
      Previous value: -"How many people live in the home"New value: +"Number of people living in the home"
    • changedInput schema / $defs / PropertyBlock / properties / losses / description
      Previous value: -"Prior property losses, each DATED (carrier forms ask when). [] means asked-and-loss-free; omit the field if never asked"New value: +"Prior property losses, each dated. [] means none; omit if unknown"
    • removedInput schema / $defs / PropertyBlock / properties / miles_to_fire_station / description
      Removed value: -"Road miles to the responding fire station — a rating axis at several carriers"
    • changedInput schema / $defs / PropertyBlock / properties / purchased / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / purchased / description
      Previous value: -"When the home was purchased — ISO 8601, reduced precision welcome (\"2021\" / \"2021-06\"). Carrier forms ask it outright."New value: +"When the home was bought: YYYY, YYYY-MM or YYYY-MM-DD"
    • changedInput schema / $defs / PropertyBlock / properties / renovation_permit_year / description
      Previous value: -"Year of the last permitted renovation (plumbing/electrical/heating/roof)"New value: +"Year of the last permitted plumbing, electrical, heating or roof work"
    • changedInput schema / $defs / PropertyBlock / properties / replacement_cost / description
      Previous value: -"Estimated dwelling replacement cost in dollars, if the user has one"New value: +"Dwelling replacement cost estimate, dollars"
    • removedInput schema / $defs / PropertyBlock / properties / roof_layers / description
      Removed value: -"How many layers of roofing are on the house"
    • changedInput schema / $defs / PropertyBlock / properties / roof_year / description
      Previous value: -"Year the roof was last fully replaced"New value: +"Year the roof was last replaced"
    • changedInput schema / $defs / PropertyBlock / properties / seismic_retrofit / description
      Previous value: -"Whether an older home has been seismically retrofitted (asked in CA)"New value: +"Whether the home has been seismically retrofitted"
    • changedInput schema / $defs / PropertyBlock / properties / units / description
      Previous value: -"How many families the building holds"New value: +"Number of families the building holds"
    • changedInput schema / $defs / QuoteProfile / description
      Previous value: -"The household being quoted: a line-neutral core plus per-line blocks.\nA few facts are REQUIRED — the ZIP, the applicant's age (or dob), and,\nwhen quoting auto, each vehicle's year/make/model — because they have no\nneutral rateable value; YOU supply those, inventing a concrete value from\ncontext when the user was vague and telling them so. Everything else is\noptional: omissions become explicit, priced assumptions (`assumptions` /\n`tighten_by`), never a refusal.\n\nThe core carries facts about the people and where they live; the `auto`\nblock carries `drivers[]` and `vehicles[]`; the `property` block carries\nthe dwelling (home AND renters). A household that will only ever buy\nrenters simply has no `auto` block, and nothing about a car is assumed\nfor it."New value: +"The household being quoted: the people and where they live, plus an\n`auto` block (drivers and vehicles) and a `property` block (the\ndwelling). REQUIRED: the ZIP, the applicant's age (or dob) and, for auto,\neach vehicle's year/make/model — when the user was vague, pass a concrete\nvalue and tell them. Everything else is optional; omissions come back as\n`assumptions`."
    • removedInput schema / $defs / QuoteProfile / properties / auto / description
      Removed value: -"The auto line's facts: drivers[] and vehicles[]"
    • changedInput schema / $defs / QuoteProfile / properties / companion_policies / description
      Previous value: -"Policies the household already holds, each with who writes it, e.g. [{\"line\": \"home\", \"carrier\": \"State Farm\"}] — only the carrier writing a policy gives a multi-policy discount for it"New value: +"Policies the household already holds, e.g. [{\"line\": \"home\", \"carrier\": \"State Farm\"}]"
    • changedInput schema / $defs / QuoteProfile / properties / credit_range / description
      Previous value: -"'Excellent' / 'Good' / 'Fair' / 'Poor'. Not a rating input in CA, HI, MA, or MI (credit-based auto rating is banned there) — omit it and don't ask shoppers in those states."New value: +"'Excellent' / 'Good' / 'Fair' / 'Poor' — omit it in CA, HI, MA and MI"
    • changedInput schema / $defs / QuoteProfile / properties / dob / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / dob / description
      Previous value: -"Date of birth, YYYY-MM-DD (alternative to age)"New value: +"YYYY-MM-DD; alternative to age"
    • changedInput schema / $defs / QuoteProfile / properties / effective_date / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "format": "date",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / effective_date / description
      Previous value: -"Desired start date for the new policy, YYYY-MM-DD"New value: +"Policy start date, YYYY-MM-DD"
    • changedInput schema / $defs / QuoteProfile / properties / home_ownership_status / description
      Previous value: -"'rent' / 'own with mortgage' / 'own outright' — bare 'own' is accepted; carrier forms ask which"New value: +"'rent' / 'own with mortgage' / 'own outright' — bare 'own' is accepted"
    • removedInput schema / $defs / QuoteProfile / properties / industry / description
      Removed value: -"Industry beside the occupation, e.g. 'Finance and Insurance' — GEICO's live quote form insists on it"
    • changedInput schema / $defs / QuoteProfile / properties / memberships / description
      Previous value: -"Organizations the applicant belongs to, e.g. ['Costco', 'AAA'] — group/affinity plans (CA §1861.12) discount on them"New value: +"Organizations the applicant belongs to, e.g. ['Costco', 'AAA']"
    • changedInput schema / $defs / QuoteProfile / properties / military_affiliation / description
      Previous value: -"'active' / 'veteran' / 'family' / 'none' — USAA quotes only military-affiliated households"New value: +"'active' / 'veteran' / 'family' / 'none'"
    • removedInput schema / $defs / QuoteProfile / properties / military_branch
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Branch of service, e.g. 'Army', 'Navy' (USAA asks)",
      -  "title": "Military Branch"
      -}
    • removedInput schema / $defs / QuoteProfile / properties / military_rank_paygrade
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "maxLength": 200,
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Rank / pay grade, e.g. 'E-5' (USAA asks)",
      -  "title": "Military Rank Paygrade"
      -}
    • removedInput schema / $defs / QuoteProfile / properties / military_service_end_year
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "title": "Military Service End Year"
      -}
    • removedInput schema / $defs / QuoteProfile / properties / military_service_start_year
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "title": "Military Service Start Year"
      -}
    • removedInput schema / $defs / QuoteProfile / properties / months_at_residence / description
      Removed value: -"How long at the current address, in months"
    • removedInput schema / $defs / QuoteProfile / properties / occupation / description
      Removed value: -"Occupation as carriers collect it, e.g. 'Accountant'"
    • removedInput schema / $defs / QuoteProfile / properties / prior_insurance / description
      Removed value: -"The insurance carried now — carrier, dates, limits held"
    • removedInput schema / $defs / QuoteProfile / properties / property / description
      Removed value: -"The dwelling's facts — home and renters alike"
    • changedInput schema / $defs / QuoteProfile / properties / state / description
      Previous value: -"Two-letter state code, e.g. 'CA' (derived from zip_code when omitted)"New value: +"Two-letter code; derived from zip_code when omitted"
    • removedInput schema / $defs / QuoteProfile / properties / street_address / description
      Removed value: -"Street address (line 1) — sharpens territory rating and is required for live carrier submissions (logged as PII, never echoed)"
    • removedInput schema / $defs / QuoteProfile / properties / unit / description
      Removed value: -"Apartment/unit number (address line 2) — a renter or condo dweller in a multi-unit building needs it for live carrier submissions"
    • addedInput schema / $defs / RentersAsk
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "coverage_c": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Personal-property (contents) limit in dollars, e.g. 30000",
      +      "title": "Coverage C"
      +    },
      +    "coverage_d": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Loss-of-use limit in dollars",
      +      "title": "Coverage D"
      +    },
      +    "coverage_e": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Personal liability limit in dollars, e.g. 100000",
      +      "title": "Coverage E"
      +    },
      +    "coverage_f": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Guest medical (medical payments to others) limit in dollars, e.g. 1000",
      +      "title": "Coverage F"
      +    },
      +    "deductible": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "All-perils deductible in dollars, e.g. 500",
      +      "title": "Deductible"
      +    }
      +  },
      +  "title": "RentersAsk",
      +  "type": "object"
      +}
    • changedInput schema / $defs / VehicleInput / properties / body_style / description
      Previous value: -"Trim / body style as the carrier lists it, e.g. \"XLT AWD 4D GAS\""New value: +"Trim / body style, e.g. \"XLT AWD 4D GAS\""
    • removedInput schema / $defs / VehicleInput / properties / bought_new / description
      Removed value: -"Whether the vehicle was new when bought (Allstate asks)"
    • changedInput schema / $defs / VehicleInput / properties / cost / description
      Previous value: -"What the vehicle cost new, whole dollars — some carriers' live quote forms (Kemper) insist on it"New value: +"Cost new, whole dollars"
    • changedInput schema / $defs / VehicleInput / properties / garaging_zip / description
      Previous value: -"ZIP where THIS vehicle is garaged, when it differs from the household's zip_code — auto rating keys on the garaging territory, so a stated garaging ZIP is what gets rated"New value: +"ZIP where this vehicle is kept, when different from zip_code"
    • changedInput schema / $defs / VehicleInput / properties / purchase_date / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / purchase_date / description
      Previous value: -"When the vehicle was bought — ISO 8601, \"2021-06\" or \"2021\" welcome"New value: +"When bought: YYYY, YYYY-MM or YYYY-MM-DD"
    • removedInput schema / $defs / VehicleInput / properties / vin / description
      Removed value: -"17-character VIN — live carrier forms prefer it over year/make/model"
    • changedInput schema / $defs / ViolationInput / description
      Previous value: -"One citation, as it will be declared. Dated, because carriers\nprice WHEN it happened — counts and windows are derived, never sent."New value: +"One moving violation."
    • changedInput schema / $defs / ViolationInput / properties / on / description
      Previous value: -"When it happened — ISO 8601, reduced precision welcome: \"2024\", \"2024-06\", or \"2024-06-15\". A year IS a date."New value: +"When it happened: YYYY, YYYY-MM or YYYY-MM-DD"
    • addedInput schema / $defs / ViolationInput / properties / on / pattern
      Added value: +"^\\d{4}(?:-\\d{2}){0,2}$"
    • changedInput schema / properties / lines / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {
      -      "$ref": "#/$defs/CoverageSelectionInput"
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/LinesInput"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / lines / title
      Removed value: -"Lines"
    • addedOutput schema / $defs / SkippedLines
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "lines": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Lines",
      +      "type": "array"
      +    },
      +    "message": {
      +      "title": "Message",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "lines",
      +    "message"
      +  ],
      +  "title": "SkippedLines",
      +  "type": "object"
      +}
    • changedOutput schema / properties / skipped / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {
      -      "type": "string"
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/SkippedLines"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / skipped / title
      Removed value: -"Skipped"
  6. Changed97 schema fields changed
    • removedInput schema / $defs / AccidentInput / properties / on / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / $defs / AccidentInput / properties / on / default
      Removed value: -null
    • addedInput schema / $defs / AccidentInput / properties / on / type
      Added value: +"string"
    • addedInput schema / $defs / AccidentInput / required
      Added value: +[
      +  "on"
      +]
    • changedInput schema / $defs / CoverageSelectionInput / description
      Previous value: -"The coverage to price, as actual numbers on named axes — the value type\nof every entry in the ``lines`` map, so it publishes each line's axes side\nby side (a line reads only its own; the map key says which apply).\n\nTyped for the same reason as ``QuoteProfile``: with a bare dict the schema\npublished ``additionalProperties: true`` and nothing else, so callers\nguessed key names (\"bodily_injury\") and burned a round trip on the\nselection-required refusal before learning the real ones. The fields are\nall optional HERE because completeness is judged server-side\n(``coverage_ask``, per line): an incomplete selection must reach the\nengines' rich ``coverage_selection_required`` payload — which names the\nmissing axes, a common choice, and (auto) the state's legal minimum — not\ndie as a generic schema validation error. ``extra=\"allow\"`` keeps the\nparser's accepted aliases (``bi_limit``, ``collision_deductible``,\n``uim``…), the rarer home axes (B/C/D ratios, hurricane/water deductibles,\n``endorsements``), and wider overrides working."New value: +"The coverage to price, as actual numbers on named axes — the value of\neach entry in the `lines` map. Each line reads only its own axes; the map\nkey says which apply."
    • changedInput schema / $defs / DriverInput / properties / accidents / description
      Previous value: -"Accidents, each dated. An empty list means none."New value: +"Accidents, one entry each, e.g. [{\"on\": \"2023-06-15\", \"at_fault\": true, \"amount\": 4200}] — every entry needs `on`. An empty list means none."
    • changedInput schema / $defs / DriverInput / properties / drivers_license_number / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / education / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / employment_status / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / exclusion_reason / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / first_name / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / gender / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / industry / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / last_name / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / license_state / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / marital_status / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / occupation / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / relation / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / status / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / DriverInput / properties / violations / description
      Previous value: -"Moving violations, each dated. An empty list means a clean record."New value: +"Moving violations, one entry each, e.g. [{\"on\": \"2025-01\", \"kind\": \"speeding\"}] — every entry needs `kind` and `on`. An empty list means a clean record."
    • addedInput schema / $defs / HeldPolicyInput
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "A policy the household already holds. A carrier's bundle discount\napplies only to a policy THAT carrier's group writes, so the writer is\nhalf the fact: name it, or no carrier's discount applies.",
      +  "properties": {
      +    "carrier": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Who writes it, as the household would say it: \"State Farm\", \"Farmers\", \"AAA\". Without it no carrier gives a multi-policy discount",
      +      "title": "Carrier"
      +    },
      +    "in_force": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "False for a policy that has lapsed or been cancelled",
      +      "title": "In Force"
      +    },
      +    "line": {
      +      "description": "What the policy insures: \"home\", \"renters\", \"condo\", \"auto\", \"life\", \"umbrella\"…",
      +      "maxLength": 200,
      +      "title": "Line",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "line"
      +  ],
      +  "title": "HeldPolicyInput",
      +  "type": "object"
      +}
    • changedInput schema / $defs / LossInput / properties / kind / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PriorInsuranceInput / properties / carrier / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PriorInsuranceInput / properties / limits / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / construction_type / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / devices / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / foundation / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / garage / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / occupancy / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / protection_class / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / PropertyBlock / properties / roof_type / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / description
      Previous value: -"The household being quoted: a line-neutral core plus per-line blocks\n(#1106). Every fact has a declared posture (`foresee.postures`): a few\nare REQUIRED — the ZIP, the applicant's age (or dob), and, when quoting\nauto, each vehicle's year/make/model — because they have no neutral\nrateable value; YOU supply those, inventing a concrete value from context\nwhen the user was vague and telling them so. Everything else is optional:\nomissions become explicit, priced assumptions (`assumptions` /\n`tighten_by`), never a refusal.\n\nThe core carries facts about the people and where they live; the `auto`\nblock carries `drivers[]` and `vehicles[]`; the `property` block carries\nthe dwelling (home AND renters). A household that will only ever buy\nrenters simply has no `auto` block, and nothing about a car is assumed\nfor it.\n\nTyped (rather than a bare dict) so the connector schema tells the model the\nexact field names: an untyped profile made models guess keys (\"zip\"), the\nvalue was silently ignored, and the engines rated a default location.\n``extra=\"allow\"`` keeps two things working unadvertised: the legacy flat\nspellings (``vehicle_year``, ``spouse_dob``, ``currently_insured``,\n3-year incident counts…), which fold onto the blocks — a flat key\ndisagreeing with a block is a hard error naming both — and richer keys\nflowing through to the engines unchanged."New value: +"The household being quoted: a line-neutral core plus per-line blocks.\nA few facts are REQUIRED — the ZIP, the applicant's age (or dob), and,\nwhen quoting auto, each vehicle's year/make/model — because they have no\nneutral rateable value; YOU supply those, inventing a concrete value from\ncontext when the user was vague and telling them so. Everything else is\noptional: omissions become explicit, priced assumptions (`assumptions` /\n`tighten_by`), never a refusal.\n\nThe core carries facts about the people and where they live; the `auto`\nblock carries `drivers[]` and `vehicles[]`; the `property` block carries\nthe dwelling (home AND renters). A household that will only ever buy\nrenters simply has no `auto` block, and nothing about a car is assumed\nfor it."
    • changedInput schema / $defs / QuoteProfile / properties / city / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / companion_policies / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "$ref": "#/$defs/HeldPolicyInput"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / companion_policies / description
      Previous value: -"Lines the household already HOLDS elsewhere, e.g. [\"home\"] — a held companion policy applies each carrier's multi-policy factor"New value: +"Policies the household already holds, each with who writes it, e.g. [{\"line\": \"home\", \"carrier\": \"State Farm\"}] — only the carrier writing a policy gives a multi-policy discount for it"
    • changedInput schema / $defs / QuoteProfile / properties / credit_range / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / education / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / employment_status / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / gender / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / home_ownership_status / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / industry / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / marital_status / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / memberships / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "items": {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / military_affiliation / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / military_branch / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / military_rank_paygrade / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / occupation / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / residence_type / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / state / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / street_address / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / QuoteProfile / properties / unit / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / $defs / QuoteProfile / properties / zip_code / maxLength
      Added value: +200
    • changedInput schema / $defs / VehicleInput / properties / anti_theft / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / body_style / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / garaging_zip / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / make / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / model / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / ownership / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / primary_use / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / trim / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / $defs / VehicleInput / properties / vin / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / $defs / ViolationInput / properties / kind / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / $defs / ViolationInput / properties / kind / default
      Removed value: -null
    • changedInput schema / $defs / ViolationInput / properties / kind / description
      Previous value: -"The violation in plain words: \"speeding\", \"DUI\", \"reckless \"\"driving\", \"running a red light\"…"New value: +"The violation in plain words: \"speeding\", \"DUI\", \"reckless driving\", \"running a red light\"…"
    • addedInput schema / $defs / ViolationInput / properties / kind / maxLength
      Added value: +200
    • addedInput schema / $defs / ViolationInput / properties / kind / minLength
      Added value: +1
    • addedInput schema / $defs / ViolationInput / properties / kind / type
      Added value: +"string"
    • removedInput schema / $defs / ViolationInput / properties / on / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / $defs / ViolationInput / properties / on / default
      Removed value: -null
    • addedInput schema / $defs / ViolationInput / properties / on / type
      Added value: +"string"
    • addedInput schema / $defs / ViolationInput / required
      Added value: +[
      +  "on",
      +  "kind"
      +]
    • removedOutput schema / $defs / BundleSummary / description
      Removed value: -"One carrier's bundle arithmetic when a call prices several lines\ntogether. Totals are two REAL ratings of the same profile — the carrier's\nmulti-policy factors applied and cleared — never a percentage: the\nfactors apply per line and per coverage, and each shows in that line's\nown quote cell like any other applied factor. This block only adds the\ncross-line sums those cells cannot carry."
    • removedOutput schema / $defs / BundleSummary / properties / bundle_total / description
      Removed value: -"Monthly total across those lines rated together — the sum of this carrier's headline `monthly` in each line's by_line cell"
    • removedOutput schema / $defs / BundleSummary / properties / lines / description
      Removed value: -"The lines this carrier priced together"
    • removedOutput schema / $defs / BundleSummary / properties / savings / description
      Removed value: -"standalone_total − bundle_total, USD per month"
    • removedOutput schema / $defs / BundleSummary / properties / standalone_total / description
      Removed value: -"Monthly total for the same lines each rated alone"
    • removedOutput schema / $defs / CarrierQuoteSummary / description
      Removed value: -"One carrier's headline in a quote result's structuredContent."
    • removedOutput schema / $defs / CarrierQuoteSummary / properties / carrier_quote_url / description
      Removed value: -"The carrier's own quoting portal — where a purchase completes"
    • removedOutput schema / $defs / CarrierQuoteSummary / properties / monthly / description
      Removed value: -"Point-estimate monthly premium, USD"
    • addedOutput schema / $defs / CarrierQuoteSummary / properties / rated_vs_asked
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Rated Vs Asked"
      +}
    • removedOutput schema / $defs / CarrierQuoteSummary / properties / warnings / description
      Removed value: -"Per-carrier honesty notes — off-ladder-ask divergence, unconfirmed eligibility, no direct purchase path — relay them with the price"
    • removedOutput schema / $defs / LineQuoteSummary / description
      Removed value: -"One priced line's headline block inside ``by_line``: the ask, the\nprices, and the declared honesty blocks — what was assumed, what to ask\nthe user to sharpen it, who couldn't price the ask and why, and which\ngiven inputs these rates don't price. Surface all of them."
    • removedOutput schema / $defs / LineQuoteSummary / properties / assumptions / description
      Removed value: -"Omitted facts priced at a declared stand-in value — relay them with the prices; never present an assumed price as a measured one. An entry carrying `path` names the exact profile field to send the user's real answer under; a path-less entry is answered by completing the incident entries already sent"
    • removedOutput schema / $defs / LineQuoteSummary / properties / coverage_selection / description
      Removed value: -"The ask this line was priced at, echoed verbatim"
    • removedOutput schema / $defs / LineQuoteSummary / properties / failures / description
      Removed value: -"Carriers that could not price this exact ask, each with the reason (limit not offered, eligibility…) — they dropped out, they are not cheap or missing"
    • removedOutput schema / $defs / LineQuoteSummary / properties / input_flags / description
      Removed value: -"Given inputs that look wrong (e.g. an odometer reading sent as annual mileage)"
    • removedOutput schema / $defs / LineQuoteSummary / properties / not_rated / description
      Removed value: -"Inputs the caller GAVE that these rates do not price (a second vehicle, rideshare use…) — relay each note verbatim"
    • removedOutput schema / $defs / LineQuoteSummary / properties / tighten_by / description
      Removed value: -"The missing facts that most move the price — offer to re-quote with the user's answers, each sent under its matching assumptions (or input_flags) entry's `path`"
    • removedOutput schema / description
      Removed value: -"structuredContent of the quote tools: headline numbers only, keyed by\nline from the first scan (#1106) so a second line's launch never diffs\nthis schema.\n\nThe content channel carries the full sub-coverage/ladder detail; this stays\nconcise on purpose, and carries no internal identifiers (GHI #1101)."
    • removedOutput schema / properties / bundle / description
      Removed value: -"Per-carrier bundle totals, keyed like by_line's carrier_key, when one carrier priced several of the asked lines together. Absent means no bundle pricing was computed — never present multi-line prices as bundled unless this block says so"
    • removedOutput schema / properties / by_line / description
      Removed value: -"Each priced line's carriers, cheapest first"
    • removedOutput schema / properties / coverage_required / description
      Removed value: -"Lines needing a coverage ask, each naming its own axes"
    • addedOutput schema / properties / dense
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Dense"
      +}
    • removedOutput schema / properties / example_arguments / description
      Removed value: -"On a profile_required refusal: a correctly-wrapped call to imitate — re-call with the user's facts in this shape"
    • removedOutput schema / properties / presentation / description
      Removed value: -"How to present priced results — rides with them"
    • removedOutput schema / properties / profile_required / description
      Removed value: -"Required profile facts still missing (field → what to pass). Nothing is priced while any is open: supply each — if the user didn't state one, pass your best concrete value and present it to them as your assumption"
    • removedOutput schema / properties / skipped / description
      Removed value: -"Lines not priced, with the honest reason — relay it"
  7. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.