Skip to main content
Glama

Live carrier quotes

live_carrier_quotes
DestructiveIdempotent

Purpose: confirm quote estimates on the carriers' own quote sites, via Foresee agents completing their real quote flows.

    IDEMPOTENT, keyed on the profile: the first call commissions the
    walks; calling again with the same profile collects progress and
    results instead of re-submitting anything — whatever the ask. A
    profile that has already been walked returns those results (the
    carriers are never asked twice): the envelope's
    ``coverage_selection`` names the ask the walk typed, and each quote
    carries the carrier's other recorded coverage options as
    ``variants``, so a new ask reads the same run. So call once to
    start, then re-call after a few minutes to collect; agents still
    working report their stage.

    Ask ONCE, before the first call: the consent disclosure below, the
    identity fields, and the questions listed at the end of this
    description under EVERY LINE and under the line being walked — all
    in one message, so the first commissioning call walks every carrier. A call made before
    consent submits nothing and answers ``authorization_required`` with
    the profile's ``needs``, for when you have not asked yet.

    No sign-in is required. The one hard requirement is the user's own
    consent, captured in-band: BEFORE the commissioning call, you MUST
    tell the user, plainly: Foresee will submit their details to the
    named carriers; the carriers may obtain their credit-based insurance
    score (a soft pull, with no impact on your credit score); and the
    carriers may contact them by email or phone. Then get their explicit
    go-ahead and pass their affirmation VERBATIM as ``user_authorization``
    (e.g. "yes, go ahead"). The affirmation is stored as the durable
    consent record for the dispatch; without one the call is refused with
    ``authorization_required``. Foresee only collects quotes; it does
    not take payment or bind insurance.

    Collect the ``identity`` fields in chat. Nothing is filled in from
    anywhere else: what the walks type is what the call states.

    A ``missing_facts`` response is normal: carrier forms insist on facts
    (body style, purchase date, age first licensed…) that Foresee will not
    invent. Each ``needs`` entry carries the carrier (``scope``), the
    facts in the walk's own words (``need``), and ``fields[]`` — per
    fact, the ``ask`` beside the exact schema path to pass the answer
    under (``field``, e.g. ``auto.vehicles[].purchase_date``;
    ``identity.…`` paths go on ``identity``). Ask the user for exactly
    those facts, then call again with the answers merged in at those
    paths. A fact with no ``field`` has no profile home yet — relay
    that carrier's ask as unavailable rather than guessing a key. While
    any carrier waits on a fact the user can answer, nothing is
    submitted: the carriers already able to go are listed under
    ``ready`` and held, so every carrier is walked together. Only when
    the user cannot or will not answer, re-call with
    ``dispatch_ready_only=true`` to walk the ready ones now; that
    receipt is PARTIAL — follow its ``recover`` block: re-call with the
    new facts merged AND ``carriers`` set to exactly
    ``recover.carriers`` — a changed profile is a new dispatch, and an
    unscoped re-call would re-submit the already-walked carriers too.

    Unasserted MINOR facts are not asked: a form field that is really a
    claim nobody made (an anti-theft device, a defensive-driving course,
    years licensed abroad) is answered with the declared no-claim value —
    never a discount claim — and every one comes back in ``assumptions``
    (``field`` + the ``assumed`` value submitted). Relay them with the
    results; if the user corrects one, re-call with the real value at
    that path.

    ``carriers``: OMIT it to walk every carrier walked for the line in
    the user's state — that is the default and the goal. Pass it only
    when the user asks to limit the walk: most carriers with an estimate
    have no walk, so a shortlist copied from quote_insurance results is
    refused with ``carriers_not_walked`` naming the ``walkable`` set to
    choose from. Those
    carriers keep their estimates; the live run adds real quotes from
    every walked carrier.

    ``lines`` names WHICH line to walk, exactly one per call (a fan-out
    drives one form family): ``{"auto": {...the ask...}}``,
    ``{"home": null}``, or ``{"renters": {"coverage_c": 30000,
    "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}}``. An
    AUTO walk's ask is REQUIRED — the limits and deductibles the agents
    ask the carriers for, as actual numbers (`bi` "100/300", `pd` 100,
    `coll_deductible` 500, `comp_deductible` 500, the same four axes as
    quote_insurance); without it the tool answers with the
    selection-required message; ask the user, then call again. A HOME
    walk takes NO ask — the carrier's own form prices its package
    (dwelling amount from its replacement-cost estimate) and the agents
    report what it chose. A RENTERS walk requires its four axes as
    actual dollars — ``coverage_c`` (personal-property/contents),
    ``coverage_e`` (personal liability), ``coverage_f`` (guest medical)
    and ``deductible`` — the agents type the user's numbers on the form
    instead of accepting its defaults, and Foresee never invents them.

    Quotes come back with evidence. ``quote.premium`` is VERBATIM as
    the carrier's page printed it, and ``term_months`` says what it
    covers — a 6-month figure is not a monthly one. When term_months
    is known, present the monthly equivalent (premium ÷ term_months)
    so carriers compare on one basis, the page's own figure beside it;
    without it, relay the printed premium and say the monthly
    equivalent is unknown. A carrier may
    also decline the risk — a real answer to relay, not an error. Every
    carrier without a quote says why in ``detail``: ``declined`` is the
    carrier's own answer; ``missing_facts`` lists under ``fields`` (each
    an ``ask`` and its ``field`` path) what its form wanted — ask the
    user, then re-call with the answers merged and ``carriers`` set to
    that carrier; ``failed`` and ``not_quoted`` mean Foresee couldn't get
    that quote — say so, never that the carrier turned the user down.
    ``skipped`` and ``not_dispatched`` name the carriers NOT walked,
    each with the reason — relay those too; a carrier never silently
    vanishes.

What the carriers' forms ask. In ONE message, together with the consent disclosure and BEFORE the first call, ask the user the EVERY LINE questions plus the questions for each line they want priced, then omit carriers to walk every carrier in the user's state. Each fact names the path its answer goes under.

EVERY LINE:

  • identity: legal name, date of birth, street address, email and phone (identity)

  • household: the spouse of a married applicant (auto.drivers[])

AUTO ONLY:

  • household: gender (gender); marital status (marital_status)

  • work: occupation (occupation)

  • residence: whether the home is owned or rented (home_ownership_status); how long at this address (months_at_residence)

  • each car: whether the vehicle is owned, financed or leased (auto.vehicles[].ownership); when the vehicle was bought (auto.vehicles[].purchase_date); whether the vehicle was new when bought (auto.vehicles[].bought_new); what the vehicle cost new (auto.vehicles[].cost)

  • how each car is used: what the vehicle is used for (auto.vehicles[].primary_use); annual mileage (auto.vehicles[].annual_mileage)

  • each driver: driver's licence number (auto.drivers[].drivers_license_number); age first licensed (auto.drivers[].age_first_licensed); violation history (auto.drivers[].violations); loss history (auto.drivers[].accidents)

  • current insurance: whether there is insurance now (prior_insurance.insured); prior carrier (prior_insurance.carrier); when the prior policy ran (prior_insurance.since); the bodily injury limits carried now (prior_insurance.limits); a lapse in coverage (prior_insurance.lapse)

HOME ONLY:

  • the home: when the property was bought (property.purchased); what the property is used for (property.occupancy); how many people live there (property.household)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
linesNo
profileYes
carriersNo
identityNo
user_authorizationNo
dispatch_ready_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNo
errorNo
needsNo
readyNo
agentsNo
detailNo
statusNo
recoverNo
skippedNo
assumptionsNo
example_argumentsNo
coverage_selectionNo
authorization_recordedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / $defs / WalkPropertyBlock / 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 / 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"
      +}
    • addedInput schema / $defs / WalkDriverInput / 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 / WalkDriverInput / 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 / WalkDriverInput / 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"
      +}
  3. Changed12 schema fields changed
    • addedInput schema / $defs / LiveQuoteProfile / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "age"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "dob"
      +    ]
      +  }
      +]
    • changedInput schema / $defs / LiveQuoteProfile / properties / age / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "maximum": 120,
      +    "minimum": 16,
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / $defs / LiveQuoteProfile / properties / dob / anyOf
      Removed value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / $defs / LiveQuoteProfile / properties / dob / format
      Added value: +"date"
    • addedInput schema / $defs / LiveQuoteProfile / properties / dob / type
      Added value: +"string"
    • changedInput schema / $defs / LiveQuoteProfile / properties / property / anyOf
      Previous value: -[
      -  {
      -    "$ref": "#/$defs/PropertyBlock"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/WalkPropertyBlock"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / $defs / PropertyBlock
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "The dwelling, for home and renters.",
      -  "properties": {
      -    "bathrooms": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Bathrooms"
      -    },
      -    "construction_type": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'frame' / 'masonry' / 'masonry veneer'…",
      -      "title": "Construction Type"
      -    },
      -    "devices": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Protective devices in the home: 'smoke alarm', 'deadbolts', 'fire extinguisher', 'central burglar alarm', 'sprinklers'… ['None'] means asked-and-none; omit the field if never asked",
      -      "title": "Devices"
      -    },
      -    "foundation": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'slab' / 'raised' / 'basement' / 'crawlspace'…",
      -      "title": "Foundation"
      -    },
      -    "garage": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'attached 2 car' / 'detached 1 car' / 'carport' / 'none'…",
      -      "title": "Garage"
      -    },
      -    "household": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Number of people living in the home",
      -      "title": "Household"
      -    },
      -    "losses": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "$ref": "#/$defs/LossInput"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Prior property losses, each dated. [] means none; omit if unknown",
      -      "title": "Losses"
      -    },
      -    "miles_to_fire_station": {
      -      "anyOf": [
      -        {
      -          "type": "number"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Miles To Fire Station"
      -    },
      -    "occupancy": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'owner occupied' / 'tenant occupied' / 'seasonal' / 'vacant'",
      -      "title": "Occupancy"
      -    },
      -    "protection_class": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "ISO fire protection class, 1-10",
      -      "title": "Protection Class"
      -    },
      -    "purchased": {
      -      "anyOf": [
      -        {
      -          "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "When the home was bought: YYYY, YYYY-MM or YYYY-MM-DD",
      -      "title": "Purchased"
      -    },
      -    "renovation_permit_year": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Year of the last permitted plumbing, electrical, heating or roof work",
      -      "title": "Renovation Permit Year"
      -    },
      -    "replacement_cost": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Dwelling replacement cost estimate, dollars",
      -      "title": "Replacement Cost"
      -    },
      -    "roof_layers": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Roof Layers"
      -    },
      -    "roof_type": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'composition shingle' / 'tile' / 'metal'…",
      -      "title": "Roof Type"
      -    },
      -    "roof_year": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Year the roof was last replaced",
      -      "title": "Roof Year"
      -    },
      -    "seismic_retrofit": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Whether the home has been seismically retrofitted",
      -      "title": "Seismic Retrofit"
      -    },
      -    "square_feet": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Square Feet"
      -    },
      -    "stories": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Stories"
      -    },
      -    "swimming_pool": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Swimming Pool"
      -    },
      -    "units": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Number of families the building holds",
      -      "title": "Units"
      -    },
      -    "year_built": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Year Built"
      -    }
      -  },
      -  "title": "PropertyBlock",
      -  "type": "object"
      -}
    • removedInput schema / $defs / WalkDriverInput / properties / dob / anyOf
      Removed value: -[
      -  {
      -    "format": "date",
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / $defs / WalkDriverInput / properties / dob / format
      Added value: +"date"
    • addedInput schema / $defs / WalkDriverInput / properties / dob / type
      Added value: +"string"
    • addedInput schema / $defs / WalkPropertyBlock
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "The dwelling, for home and renters.",
      +  "properties": {
      +    "bathrooms": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Bathrooms"
      +    },
      +    "construction_type": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'frame' / 'masonry' / 'masonry veneer'…",
      +      "title": "Construction Type"
      +    },
      +    "devices": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Protective devices in the home: 'smoke alarm', 'deadbolts', 'fire extinguisher', 'central burglar alarm', 'sprinklers'… ['None'] means asked-and-none; omit the field if never asked",
      +      "title": "Devices"
      +    },
      +    "employees": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Anyone employed at the property (nanny, housekeeper…)",
      +      "title": "Employees"
      +    },
      +    "foundation": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'slab' / 'raised' / 'basement' / 'crawlspace'…",
      +      "title": "Foundation"
      +    },
      +    "garage": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'attached 2 car' / 'detached 1 car' / 'carport' / 'none'…",
      +      "title": "Garage"
      +    },
      +    "hoa": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "In a homeowners association",
      +      "title": "Hoa"
      +    },
      +    "home_sharing": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Rented out short-term (Airbnb, VRBO…)",
      +      "title": "Home Sharing"
      +    },
      +    "household": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Number of people living in the home",
      +      "title": "Household"
      +    },
      +    "hydrant_feet": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Distance to the nearest fire hydrant, feet",
      +      "title": "Hydrant Feet"
      +    },
      +    "in_trust": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "The home is held in a trust",
      +      "title": "In Trust"
      +    },
      +    "losses": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/LossInput"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Prior property losses, each dated. [] means none; omit if unknown",
      +      "title": "Losses"
      +    },
      +    "miles_to_fire_station": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Miles To Fire Station"
      +    },
      +    "occupancy": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'owner occupied' / 'tenant occupied' / 'seasonal' / 'vacant'",
      +      "title": "Occupancy"
      +    },
      +    "pets": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Pets"
      +    },
      +    "protection_class": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "ISO fire protection class, 1-10",
      +      "title": "Protection Class"
      +    },
      +    "purchased": {
      +      "anyOf": [
      +        {
      +          "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "When the home was bought: YYYY, YYYY-MM or YYYY-MM-DD",
      +      "title": "Purchased"
      +    },
      +    "renovation_permit_year": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Year of the last permitted plumbing, electrical, heating or roof work",
      +      "title": "Renovation Permit Year"
      +    },
      +    "replacement_cost": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Dwelling replacement cost estimate, dollars",
      +      "title": "Replacement Cost"
      +    },
      +    "roof_layers": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Roof Layers"
      +    },
      +    "roof_type": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'composition shingle' / 'tile' / 'metal'…",
      +      "title": "Roof Type"
      +    },
      +    "roof_year": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Year the roof was last replaced",
      +      "title": "Roof Year"
      +    },
      +    "seismic_retrofit": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Whether the home has been seismically retrofitted",
      +      "title": "Seismic Retrofit"
      +    },
      +    "solar_panels": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Solar Panels"
      +    },
      +    "square_feet": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Square Feet"
      +    },
      +    "stories": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Stories"
      +    },
      +    "swimming_pool": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Swimming Pool"
      +    },
      +    "units": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Number of families the building holds",
      +      "title": "Units"
      +    },
      +    "year_built": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Year Built"
      +    }
      +  },
      +  "title": "WalkPropertyBlock",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / AgentStatusSummary / properties / fields
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Fields"
      +}
  4. Changed3 schema fields changed
    • addedInput schema / $defs / WalkDriverInput / properties / military_affiliation
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "'active' / 'veteran' / 'family' / 'none'",
      +  "title": "Military Affiliation"
      +}
    • addedInput schema / properties / dispatch_ready_only
      Added value: +{
      +  "default": false,
      +  "title": "Dispatch Ready Only",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / ready
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Ready"
      +}
  5. Changed61 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}$"
    • changedInput schema / $defs / ApplicantIdentity / description
      Previous value: -"The real applicant's identifying details — required for a live\ncarrier submission, never for instant quotes. No SSN: it is\nstructurally rejected everywhere in this system and no carrier flow\nrequires one to quote. A driver's license number is identity too,\nbut it is per-driver, so it never rides here: every rated driver's\nnumber, the applicant's included, goes on their own\n``auto.drivers[]`` entry — and only when a carrier's ``needs``\nentry asks for it (some carrier forms insist on one before\nquoting); never volunteer it."New value: +"The applicant's name, date of birth, address and contact details."
    • removedInput schema / $defs / ApplicantIdentity / properties / city / description
      Removed value: -"City"
    • changedInput schema / $defs / ApplicantIdentity / properties / dob / description
      Previous value: -"Date of birth, YYYY-MM-DD"New value: +"YYYY-MM-DD"
    • addedInput schema / $defs / ApplicantIdentity / properties / dob / format
      Added value: +"date"
    • removedInput schema / $defs / ApplicantIdentity / properties / email / description
      Removed value: -"Email address — carriers send the quote here"
    • removedInput schema / $defs / ApplicantIdentity / properties / first_name / description
      Removed value: -"Legal first name"
    • removedInput schema / $defs / ApplicantIdentity / properties / last_name / description
      Removed value: -"Legal last name"
    • removedInput schema / $defs / ApplicantIdentity / properties / phone / description
      Removed value: -"Phone number, if the user shares one"
    • removedInput schema / $defs / ApplicantIdentity / properties / street / description
      Removed value: -"Street address (line 1)"
    • removedInput schema / $defs / ApplicantIdentity / properties / unit / description
      Removed value: -"Apartment/unit number (address line 2), if any"
    • changedInput schema / $defs / ApplicantIdentity / properties / zip_code / description
      Previous value: -"5-digit ZIP, if it differs from the profile's"New value: +"Only when it differs from the profile's"
    • 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"
      +}
    • removedInput schema / $defs / AutoBlock
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "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.",
      -  "properties": {
      -    "drivers": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "$ref": "#/$defs/DriverInput"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Drivers"
      -    },
      -    "vehicles": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "$ref": "#/$defs/VehicleInput"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Vehicles"
      -    }
      -  },
      -  "title": "AutoBlock",
      -  "type": "object"
      -}
    • 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"
      -}
    • removedInput schema / $defs / DriverInput
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "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.",
      -  "properties": {
      -    "accidents": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "$ref": "#/$defs/AccidentInput"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Accidents, one entry each, e.g. [{\"on\": \"2023-06-15\", \"at_fault\": true, \"amount\": 4200}] — every entry needs `on`. An empty list means none.",
      -      "title": "Accidents"
      -    },
      -    "age_first_licensed": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Age when first licensed, typically 16-18 (Liberty Mutual asks)",
      -      "title": "Age First Licensed"
      -    },
      -    "date_first_licensed": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Date first licensed, YYYY-MM-DD (alternative to age_first_licensed)",
      -      "title": "Date First Licensed"
      -    },
      -    "defensive_driving_course": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Completed a defensive-driving / accident-prevention course, last 3 years",
      -      "title": "Defensive Driving Course"
      -    },
      -    "dob": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Date of birth, YYYY-MM-DD",
      -      "title": "Dob"
      -    },
      -    "drivers_license_number": {
      -      "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"
      -    },
      -    "education": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Highest education level: 'No High School' / 'High School' / 'Vocational' / 'Some College' / 'Associate' / 'Bachelors' / 'Masters' / 'Doctorate'",
      -      "title": "Education"
      -    },
      -    "employment_status": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'Employed' / 'Self-Employed' / 'Retired' / 'Student' / 'Unemployed'",
      -      "title": "Employment Status"
      -    },
      -    "exclusion_reason": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Why an excluded driver doesn't drive, e.g. 'never had a license' — carriers (Allstate) require it for an excluded spouse",
      -      "title": "Exclusion Reason"
      -    },
      -    "first_name": {
      -      "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"
      -    },
      -    "gender": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Gender"
      -    },
      -    "industry": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Industry"
      -    },
      -    "last_name": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Legal last name (see first_name)",
      -      "title": "Last Name"
      -    },
      -    "license_state": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Two-letter state that issued this driver's license",
      -      "title": "License State"
      -    },
      -    "marital_status": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Marital Status"
      -    },
      -    "occupation": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Occupation"
      -    },
      -    "relation": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "\"self\" (default for the first driver), \"spouse\", \"child\", \"parent\", \"other\"",
      -      "title": "Relation"
      -    },
      -    "rideshare_use": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Drives for ride-share or delivery (Uber, Lyft…) — personal policies exclude livery use, so this changes eligibility and rate",
      -      "title": "Rideshare Use"
      -    },
      -    "sr22_required": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Needs an SR-22 / financial-responsibility filing",
      -      "title": "Sr22 Required"
      -    },
      -    "status": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'licensed' (default) / 'permit' / 'not licensed' / 'excluded' — an excluded driver is listed on the household but not rated",
      -      "title": "Status"
      -    },
      -    "violations": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "$ref": "#/$defs/ViolationInput"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "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.",
      -      "title": "Violations"
      -    },
      -    "years_licensed": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Years Licensed"
      -    },
      -    "years_licensed_outside_us": {
      -      "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"
      -    },
      -    "years_licensed_us": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Years licensed in the US, when it differs from years_licensed",
      -      "title": "Years Licensed Us"
      -    }
      -  },
      -  "title": "DriverInput",
      -  "type": "object"
      -}
    • 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"
      +}
    • addedInput schema / $defs / LiveQuoteProfile
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "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`.",
      +  "properties": {
      +    "age": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "REQUIRED unless dob is passed. If the user was vague ('mid-20s'), pass a concrete age and present it as your assumption.",
      +      "title": "Age"
      +    },
      +    "auto": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/WalkAutoBlock"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "city": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "City"
      +    },
      +    "companion_policies": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/HeldPolicyInput"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Policies the household already holds, e.g. [{\"line\": \"home\", \"carrier\": \"State Farm\"}]",
      +      "title": "Companion Policies"
      +    },
      +    "credit_range": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'Excellent' / 'Good' / 'Fair' / 'Poor' — omit it in CA, HI, MA and MI",
      +      "title": "Credit Range"
      +    },
      +    "dob": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "YYYY-MM-DD; alternative to age",
      +      "title": "Dob"
      +    },
      +    "education": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Highest education level: 'No High School' / 'High School' / 'Vocational' / 'Some College' / 'Associate' / 'Bachelors' / 'Masters' / 'Doctorate'",
      +      "title": "Education"
      +    },
      +    "effective_date": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Policy start date, YYYY-MM-DD",
      +      "title": "Effective Date"
      +    },
      +    "employment_status": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'Employed' / 'Self-Employed' / 'Retired' / 'Student' / 'Unemployed'",
      +      "title": "Employment Status"
      +    },
      +    "gender": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Gender"
      +    },
      +    "home_ownership_status": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'rent' / 'own with mortgage' / 'own outright' — bare 'own' is accepted",
      +      "title": "Home Ownership Status"
      +    },
      +    "industry": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Industry"
      +    },
      +    "marital_status": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'Single' / 'Married' / …",
      +      "title": "Marital Status"
      +    },
      +    "memberships": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "maxLength": 200,
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Organizations the applicant belongs to, e.g. ['Costco', 'AAA']",
      +      "title": "Memberships"
      +    },
      +    "military_affiliation": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'active' / 'veteran' / 'family' / 'none'",
      +      "title": "Military Affiliation"
      +    },
      +    "military_branch": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Military Branch"
      +    },
      +    "military_rank_paygrade": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "e.g. 'E-5'",
      +      "title": "Military Rank Paygrade"
      +    },
      +    "military_service_end_year": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Military Service End Year"
      +    },
      +    "military_service_start_year": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Military Service Start Year"
      +    },
      +    "months_at_residence": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Months At Residence"
      +    },
      +    "occupation": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Occupation"
      +    },
      +    "prior_insurance": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/WalkPriorInsuranceInput"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "property": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/PropertyBlock"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null
      +    },
      +    "residence_type": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'House' / 'Apartment' / 'Condominium' / 'Manufactured Home' / …",
      +      "title": "Residence Type"
      +    },
      +    "state": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Two-letter code; derived from zip_code when omitted",
      +      "title": "State"
      +    },
      +    "street_address": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Street Address"
      +    },
      +    "unit": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Unit"
      +    },
      +    "zip_code": {
      +      "description": "REQUIRED — 5-digit garaging/home ZIP. ALWAYS pass the ZIP here, never under another key. If the user named only a city, pass that city's best-known ZIP and tell them the assumption.",
      +      "maxLength": 200,
      +      "title": "Zip Code",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "zip_code"
      +  ],
      +  "title": "LiveQuoteProfile",
      +  "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"
    • removedInput schema / $defs / PriorInsuranceInput
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "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.",
      -  "properties": {
      -    "carrier": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Current carrier's name",
      -      "title": "Carrier"
      -    },
      -    "insured": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Currently insured?",
      -      "title": "Insured"
      -    },
      -    "lapse": {
      -      "anyOf": [
      -        {
      -          "type": "boolean"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Any lapse in coverage in the last 12 months",
      -      "title": "Lapse"
      -    },
      -    "limits": {
      -      "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"
      -    },
      -    "since": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "When this coverage started — ISO 8601, reduced precision welcome (\"2019\")",
      -      "title": "Since"
      -    },
      -    "until": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "When it ends/ended — ISO 8601, reduced precision welcome; omit while the cover is still in force",
      -      "title": "Until"
      -    }
      -  },
      -  "title": "PriorInsuranceInput",
      -  "type": "object"
      -}
    • 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"
    • removedInput schema / $defs / QuoteProfile
      Removed value: -{
      -  "additionalProperties": true,
      -  "description": "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.",
      -  "properties": {
      -    "age": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "REQUIRED unless dob is passed. If the user was vague ('mid-20s'), pass a concrete age and present it as your assumption.",
      -      "title": "Age"
      -    },
      -    "auto": {
      -      "anyOf": [
      -        {
      -          "$ref": "#/$defs/AutoBlock"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "The auto line's facts: drivers[] and vehicles[]"
      -    },
      -    "city": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "City"
      -    },
      -    "companion_policies": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "$ref": "#/$defs/HeldPolicyInput"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "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",
      -      "title": "Companion Policies"
      -    },
      -    "credit_range": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'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.",
      -      "title": "Credit Range"
      -    },
      -    "dob": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Date of birth, YYYY-MM-DD (alternative to age)",
      -      "title": "Dob"
      -    },
      -    "education": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Highest education level: 'No High School' / 'High School' / 'Vocational' / 'Some College' / 'Associate' / 'Bachelors' / 'Masters' / 'Doctorate'",
      -      "title": "Education"
      -    },
      -    "effective_date": {
      -      "anyOf": [
      -        {
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Desired start date for the new policy, YYYY-MM-DD",
      -      "title": "Effective Date"
      -    },
      -    "employment_status": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'Employed' / 'Self-Employed' / 'Retired' / 'Student' / 'Unemployed'",
      -      "title": "Employment Status"
      -    },
      -    "gender": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Gender"
      -    },
      -    "home_ownership_status": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'rent' / 'own with mortgage' / 'own outright' — bare 'own' is accepted; carrier forms ask which",
      -      "title": "Home Ownership Status"
      -    },
      -    "industry": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Industry beside the occupation, e.g. 'Finance and Insurance' — GEICO's live quote form insists on it",
      -      "title": "Industry"
      -    },
      -    "marital_status": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'Single' / 'Married' / …",
      -      "title": "Marital Status"
      -    },
      -    "memberships": {
      -      "anyOf": [
      -        {
      -          "items": {
      -            "maxLength": 200,
      -            "type": "string"
      -          },
      -          "type": "array"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Organizations the applicant belongs to, e.g. ['Costco', 'AAA'] — group/affinity plans (CA §1861.12) discount on them",
      -      "title": "Memberships"
      -    },
      -    "military_affiliation": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'active' / 'veteran' / 'family' / 'none' — USAA quotes only military-affiliated households",
      -      "title": "Military Affiliation"
      -    },
      -    "military_branch": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Branch of service, e.g. 'Army', 'Navy' (USAA asks)",
      -      "title": "Military Branch"
      -    },
      -    "military_rank_paygrade": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Rank / pay grade, e.g. 'E-5' (USAA asks)",
      -      "title": "Military Rank Paygrade"
      -    },
      -    "military_service_end_year": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Military Service End Year"
      -    },
      -    "military_service_start_year": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Military Service Start Year"
      -    },
      -    "months_at_residence": {
      -      "anyOf": [
      -        {
      -          "type": "integer"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "How long at the current address, in months",
      -      "title": "Months At Residence"
      -    },
      -    "occupation": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Occupation as carriers collect it, e.g. 'Accountant'",
      -      "title": "Occupation"
      -    },
      -    "prior_insurance": {
      -      "anyOf": [
      -        {
      -          "$ref": "#/$defs/PriorInsuranceInput"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "The insurance carried now — carrier, dates, limits held"
      -    },
      -    "property": {
      -      "anyOf": [
      -        {
      -          "$ref": "#/$defs/PropertyBlock"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "The dwelling's facts — home and renters alike"
      -    },
      -    "residence_type": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "'House' / 'Apartment' / 'Condominium' / 'Manufactured Home' / …",
      -      "title": "Residence Type"
      -    },
      -    "state": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Two-letter state code, e.g. 'CA' (derived from zip_code when omitted)",
      -      "title": "State"
      -    },
      -    "street_address": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Street address (line 1) — sharpens territory rating and is required for live carrier submissions (logged as PII, never echoed)",
      -      "title": "Street Address"
      -    },
      -    "unit": {
      -      "anyOf": [
      -        {
      -          "maxLength": 200,
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "description": "Apartment/unit number (address line 2) — a renter or condo dweller in a multi-unit building needs it for live carrier submissions",
      -      "title": "Unit"
      -    },
      -    "zip_code": {
      -      "description": "REQUIRED — 5-digit garaging/home ZIP. ALWAYS pass the ZIP here, never under another key. If the user named only a city, pass that city's best-known ZIP and tell them the assumption.",
      -      "maxLength": 200,
      -      "title": "Zip Code",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "zip_code"
      -  ],
      -  "title": "QuoteProfile",
      -  "type": "object"
      -}
    • 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}$"
    • addedInput schema / $defs / WalkAutoBlock
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Omit it for a household without a car.",
      +  "properties": {
      +    "drivers": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/WalkDriverInput"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Drivers"
      +    },
      +    "vehicles": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/VehicleInput"
      +          },
      +          "maxItems": 10,
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Vehicles"
      +    }
      +  },
      +  "title": "WalkAutoBlock",
      +  "type": "object"
      +}
    • addedInput schema / $defs / WalkDriverInput
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "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.",
      +  "properties": {
      +    "accidents": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/AccidentInput"
      +          },
      +          "maxItems": 20,
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Accidents, one entry each, e.g. [{\"on\": \"2023-06-15\", \"at_fault\": true, \"amount\": 4200}] — every entry needs `on`. An empty list means none.",
      +      "title": "Accidents"
      +    },
      +    "age_first_licensed": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Age when first licensed",
      +      "title": "Age First Licensed"
      +    },
      +    "date_first_licensed": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "YYYY-MM-DD; alternative to age_first_licensed",
      +      "title": "Date First Licensed"
      +    },
      +    "defensive_driving_course": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Completed a defensive-driving course in the last 3 years",
      +      "title": "Defensive Driving Course"
      +    },
      +    "dob": {
      +      "anyOf": [
      +        {
      +          "format": "date",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "YYYY-MM-DD",
      +      "title": "Dob"
      +    },
      +    "drivers_license_number": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Drivers License Number"
      +    },
      +    "education": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Highest education level: 'No High School' / 'High School' / 'Vocational' / 'Some College' / 'Associate' / 'Bachelors' / 'Masters' / 'Doctorate'",
      +      "title": "Education"
      +    },
      +    "employment_status": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'Employed' / 'Self-Employed' / 'Retired' / 'Student' / 'Unemployed'",
      +      "title": "Employment Status"
      +    },
      +    "exclusion_reason": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Exclusion Reason"
      +    },
      +    "first_name": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "First Name"
      +    },
      +    "gender": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Gender"
      +    },
      +    "industry": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Industry"
      +    },
      +    "last_name": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Last Name"
      +    },
      +    "license_state": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Two-letter code of the licensing state",
      +      "title": "License State"
      +    },
      +    "marital_status": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Marital Status"
      +    },
      +    "occupation": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Occupation"
      +    },
      +    "relation": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "\"self\" / \"spouse\" / \"child\" / \"parent\" / \"other\"",
      +      "title": "Relation"
      +    },
      +    "rideshare_use": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Drives for ride-share or delivery",
      +      "title": "Rideshare Use"
      +    },
      +    "sr22_required": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Sr22 Required"
      +    },
      +    "status": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "'licensed' (default) / 'permit' / 'not licensed' / 'excluded'",
      +      "title": "Status"
      +    },
      +    "violations": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "$ref": "#/$defs/ViolationInput"
      +          },
      +          "maxItems": 20,
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "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.",
      +      "title": "Violations"
      +    },
      +    "years_licensed": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Years since first licensed",
      +      "title": "Years Licensed"
      +    },
      +    "years_licensed_outside_us": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Years licensed outside the US",
      +      "title": "Years Licensed Outside Us"
      +    },
      +    "years_licensed_us": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Years licensed in the US",
      +      "title": "Years Licensed Us"
      +    }
      +  },
      +  "title": "WalkDriverInput",
      +  "type": "object"
      +}
    • addedInput schema / $defs / WalkPriorInsuranceInput
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "The insurance carried now.",
      +  "properties": {
      +    "carrier": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Carrier"
      +    },
      +    "insured": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Insured"
      +    },
      +    "lapse": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Any lapse in coverage in the last 12 months",
      +      "title": "Lapse"
      +    },
      +    "limits": {
      +      "anyOf": [
      +        {
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Bodily-injury limits held, e.g. \"100/300\"",
      +      "title": "Limits"
      +    },
      +    "since": {
      +      "anyOf": [
      +        {
      +          "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Start date: YYYY, YYYY-MM or YYYY-MM-DD",
      +      "title": "Since"
      +    },
      +    "until": {
      +      "anyOf": [
      +        {
      +          "pattern": "^\\d{4}(?:-\\d{2}){0,2}$",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "End date: YYYY, YYYY-MM or YYYY-MM-DD; omit while in force",
      +      "title": "Until"
      +    }
      +  },
      +  "title": "WalkPriorInsuranceInput",
      +  "type": "object"
      +}
    • changedInput schema / properties / lines / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {
      -      "anyOf": [
      -        {
      -          "$ref": "#/$defs/CoverageSelectionInput"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ]
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "$ref": "#/$defs/LinesInput"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / lines / title
      Removed value: -"Lines"
    • changedInput schema / properties / profile / $ref
      Previous value: -"#/$defs/QuoteProfile"New value: +"#/$defs/LiveQuoteProfile"
  6. Changed83 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 / AgentStatusSummary / description
      Removed value: -"One live agent's status in a dispatch envelope's structuredContent."
    • removedOutput schema / $defs / AgentStatusSummary / properties / line / description
      Removed value: -"The line this agent quotes — entry identity is (carrier, line): a bundled dispatch carries the same carrier once per line"
    • removedOutput schema / $defs / AgentStatusSummary / properties / premium / description
      Removed value: -"Verbatim as the carrier's page printed it"
    • removedOutput schema / $defs / AgentStatusSummary / properties / status / description
      Removed value: -"'in_progress' / 'complete' / 'failed'"
    • removedOutput schema / $defs / AgentStatusSummary / properties / term_months / description
      Removed value: -"The term the printed premium covers, in months — when known, present the monthly equivalent (premium ÷ term_months), never a term figure as a monthly one; when absent, the monthly equivalent is unknown"
    • removedOutput schema / description
      Removed value: -"structuredContent of live_carrier_quotes — one shape for both moments:\nthe commissioning receipt and the collected progress/results envelope."
    • removedOutput schema / properties / assumptions / description
      Removed value: -"Unasserted form facts this dispatch resolved to declared no-claim answers (never a discount claim) — each entry names the profile path (field) and the value submitted (assumed). Relay every one with the results; a user who corrects one re-calls with the real value in the profile"
    • removedOutput schema / properties / coverage_selection / description
      Removed value: -"The ask the walks TYPED — what each headline premium is for. A walked profile answers any ask without re-submitting: if the user's ask differs, read each quote's bound cover and variants (the carrier's other recorded options) and present the match"
    • 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 / needs / description
      Removed value: -"Facts carrier forms insist on that the profile does not carry, per carrier (scope). Each entry's fields[] pairs the walk's own ask with the exact profile/identity schema path to supply it under (field) — collect the answers from the user and re-call; never invent them"
    • removedOutput schema / properties / recover / description
      Removed value: -"On a partial receipt: how to add the skipped carriers without re-submitting the walked ones — re-call with the missing facts merged AND carriers set to exactly recover.carriers (a changed profile is a new dispatch; unscoped, it would re-walk everyone)"
    • removedOutput schema / properties / status / description
      Removed value: -"'in_progress' / 'partial' / 'complete' — re-call the tool with the same arguments to collect"
  7. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.