Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,554Letters: 14Defects: 1,331counted 3 min ago
teppi

Server definition

Hash
sha256:f16379495557b6a2c281f0f2508e852512de6390248860981b1cfb666df71a73
What it is
What a remote MCP server returned when asked what it offers: 2 tools

The blob, as servednamed by its sha256

{ "instructions": "Foresee quotes auto in CA today. Get personal lines insurance quote estimates. Start with quote_insurance. `lines` is REQUIRED — ONE map from line name in plain words (auto, renters, home…) to that line's coverage ask as actual numbers. Best results: quote in your FIRST reply — when coverage wasn't chosen, price the common starting point (bi \"100/300\", pd 100, coll_deductible 500, comp_deductible 500) as an adjustable, declared assumption rather than asking first. State only numbers the result contains — never interpolate. A renters ask names coverage_c (contents limit), coverage_e (liability), coverage_f (guest medical) and deductible; a home ask names coverage_a (dwelling limit, at replacement cost), coverage_e, coverage_f and aop_deductible — all in dollars. A line that isn't live yet comes back under skipped with honest copy — relay it, never quote a different line instead. ZIP, age and (for auto) the vehicle's year/make/model are REQUIRED with no server fallback: when the user implied one ('Sacramento', 'mid-20s'), pass a concrete value and tell them the assumption. Other omitted profile fields come back as explicit declared assumptions to relay, so you'll rarely need follow-up questions before the first call; only when most of the required facts are missing, ask ONE short round of 2-4 (plus military_affiliation when it might apply — USAA quotes only military members, veterans, and their families), then call with everything known — the response's assumptions, profile_required and coverage_required name anything still open, so a second round of questions never beats a first quote. After presenting quotes, offer to refine: each line's tighten_by list names the missing facts that most move the price — ask the user for them and re-quote with the answers — and each carrier's price_ladder answers limit/deductible what-ifs with exact one-lever prices (deductibles follow the user's cash buffer, liability limits their assets); a combined change is a re-call with the new ask. live_carrier_quotes submits profile details to the carriers' own websites — the user's own details or a hypothetical/synthetic profile both work; explicit user authorization required. Ask ONE round before the first call — the consent disclosure, identity, and every question its description lists for the line — so every carrier is walked at once. The call is idempotent per profile + coverage selection: call it again with the same arguments to collect progress and results — a profile already walked returns those results without re-submitting to the carriers.", "tools": [ { "description": "Purpose: confirm quote estimates on the carriers' own quote sites, via Foresee agents completing their real quote flows.\n\n IDEMPOTENT, keyed on the profile: the first call commissions the\n walks; calling again with the same profile collects progress and\n results instead of re-submitting anything — whatever the ask. A\n profile that has already been walked returns those results (the\n carriers are never asked twice): the envelope's\n ``coverage_selection`` names the ask the walk typed, and each quote\n carries the carrier's other recorded coverage options as\n ``variants``, so a new ask reads the same run. So call once to\n start, then re-call after a few minutes to collect; agents still\n working report their stage.\n\n Ask ONCE, before the first call: the consent disclosure below, the\n identity fields, and the questions listed at the end of this\n description under EVERY LINE and under the line being walked — all\n in one message, so the first commissioning call walks every carrier. A call made before\n consent submits nothing and answers ``authorization_required`` with\n the profile's ``needs``, for when you have not asked yet.\n\n No sign-in is required. The one hard requirement is the user's own\n consent, captured in-band: BEFORE the commissioning call, you MUST\n tell the user, plainly: Foresee will submit their details to the\n named carriers; the carriers may obtain their credit-based insurance\n score (a soft pull, with no impact on your credit score); and the\n carriers may contact them by email or phone. Then get their explicit\n go-ahead and pass their affirmation VERBATIM as ``user_authorization``\n (e.g. \"yes, go ahead\"). The affirmation is stored as the durable\n consent record for the dispatch; without one the call is refused with\n ``authorization_required``. Foresee only collects quotes; it does\n not take payment or bind insurance.\n\n Collect the ``identity`` fields in chat. They may be omitted only\n when the session is signed in to Foresee and the user has saved their\n profile on the Foresee site — then their consented profile-of-record\n is used, refined by anything passed in ``profile``.\n\n A ``missing_facts`` response is normal: carrier forms insist on facts\n (body style, purchase date, age first licensed…) that Foresee will not\n invent. Each ``needs`` entry carries the carrier (``scope``), the\n facts in the walk's own words (``need``), and ``fields[]`` — per\n fact, the ``ask`` beside the exact schema path to pass the answer\n under (``field``, e.g. ``auto.vehicles[].purchase_date``;\n ``identity.…`` paths go on ``identity``). Ask the user for exactly\n those facts, then call again with the answers merged in at those\n paths. A fact with no ``field`` has no profile home yet — relay\n that carrier's ask as unavailable rather than guessing a key. While\n any carrier waits on a fact the user can answer, nothing is\n submitted: the carriers already able to go are listed under\n ``ready`` and held, so every carrier is walked together. Only when\n the user cannot or will not answer, re-call with\n ``dispatch_ready_only=true`` to walk the ready ones now; that\n receipt is PARTIAL — follow its ``recover`` block: re-call with the\n new facts merged AND ``carriers`` set to exactly\n ``recover.carriers`` — a changed profile is a new dispatch, and an\n unscoped re-call would re-submit the already-walked carriers too.\n\n Unasserted MINOR facts are not asked: a form field that is really a\n claim nobody made (an anti-theft device, a defensive-driving course,\n years licensed abroad) is answered with the declared no-claim value —\n never a discount claim — and every one comes back in ``assumptions``\n (``field`` + the ``assumed`` value submitted). Relay them with the\n results; if the user corrects one, re-call with the real value at\n that path.\n\n ``carriers``: OMIT it to walk every carrier walked for the line in\n the user's state — that is the default and the goal. Pass it only\n when the user asks to limit the walk: most carriers with an estimate\n have no walk, so a shortlist copied from quote_insurance results is\n refused with ``carriers_not_walked`` naming the ``walkable`` set to\n choose from. Those\n carriers keep their estimates; the live run adds real quotes from\n every walked carrier.\n\n ``lines`` names WHICH line to walk, exactly one per call (a fan-out\n drives one form family): ``{\"auto\": {...the ask...}}``,\n ``{\"home\": null}``, or ``{\"renters\": {\"coverage_c\": 30000,\n \"coverage_e\": 100000, \"coverage_f\": 1000, \"deductible\": 500}}``. An\n AUTO walk's ask is REQUIRED — the limits and deductibles the agents\n ask the carriers for, as actual numbers (`bi` \"100/300\", `pd` 100,\n `coll_deductible` 500, `comp_deductible` 500, the same four axes as\n quote_insurance); without it the tool answers with the\n selection-required message; ask the user, then call again. A HOME\n walk takes NO ask — the carrier's own form prices its package\n (dwelling amount from its replacement-cost estimate) and the agents\n report what it chose. A RENTERS walk requires its four axes as\n actual dollars — ``coverage_c`` (personal-property/contents),\n ``coverage_e`` (personal liability), ``coverage_f`` (guest medical)\n and ``deductible`` — the agents type the user's numbers on the form\n instead of accepting its defaults, and Foresee never invents them.\n\n Quotes come back with evidence. ``quote.premium`` is VERBATIM as\n the carrier's page printed it, and ``term_months`` says what it\n covers — a 6-month figure is not a monthly one. When term_months\n is known, present the monthly equivalent (premium ÷ term_months)\n so carriers compare on one basis, the page's own figure beside it;\n without it, relay the printed premium and say the monthly\n equivalent is unknown. A carrier may\n also decline the risk — a real answer to relay, not an error.\n ``skipped`` and ``not_dispatched`` name the carriers NOT walked,\n each with the reason — relay those too; a carrier never silently\n vanishes.\n\nWhat 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.\n\nEVERY LINE:\n- identity: legal name, date of birth, street address, email and phone (identity)\n- household: the spouse of a married applicant (auto.drivers[])\n- residence: whether the home is owned or rented (home_ownership_status)\n- current insurance: whether there is insurance now (prior_insurance.insured)\n\nAUTO ONLY:\n- household: gender (gender); marital status (marital_status)\n- work: education (education); employment status (employment_status); occupation (occupation); industry (industry); government or military affiliation (military_affiliation)\n- residence: residence type (residence_type); how long at this address (months_at_residence)\n- the 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)\n- how the car is used: what the vehicle is used for (auto.vehicles[].primary_use); annual mileage (auto.vehicles[].annual_mileage)\n- each driver: driver status (auto.drivers[].status); 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)\n- current insurance: 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)\n\nHOME ONLY:\n- residence: what kind of building it is (residence_type)\n- the home: what the walls are made of (property.construction_type); what the roof is made of (property.roof_type); how many layers of roofing (property.roof_layers); protective devices (property.devices); a pool, spa or hot tub (property.swimming_pool); when the property was bought (property.purchased); what the property is used for (property.occupancy); how many people live there (property.household); pets in the household (has_animals); held in a trust (home_in_business_trust)", "inputSchema": { "$defs": { "AccidentInput": { "additionalProperties": true, "properties": { "amount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Damage paid out, dollars", "title": "Amount" }, "at_fault": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "At Fault" }, "on": { "description": "When it happened: YYYY, YYYY-MM or YYYY-MM-DD", "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "title": "On", "type": "string" } }, "required": [ "on" ], "title": "AccidentInput", "type": "object" }, "ApplicantIdentity": { "description": "The applicant's name, date of birth, address and contact details.", "properties": { "city": { "title": "City", "type": "string" }, "dob": { "description": "YYYY-MM-DD", "format": "date", "title": "Dob", "type": "string" }, "email": { "title": "Email", "type": "string" }, "first_name": { "title": "First Name", "type": "string" }, "last_name": { "title": "Last Name", "type": "string" }, "phone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Phone" }, "street": { "title": "Street", "type": "string" }, "unit": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Unit" }, "zip_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Only when it differs from the profile's", "title": "Zip Code" } }, "required": [ "first_name", "last_name", "dob", "street", "city", "email" ], "title": "ApplicantIdentity", "type": "object" }, "AutoAsk": { "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" }, "HeldPolicyInput": { "additionalProperties": true, "description": "A policy the household already holds.", "properties": { "carrier": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "Who writes it, e.g. \"State Farm\"", "title": "Carrier" }, "in_force": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "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" }, "HomeAsk": { "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" }, "LinesInput": { "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" }, "LiveQuoteProfile": { "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" }, "LossInput": { "additionalProperties": true, "description": "One prior property loss.", "properties": { "amount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Paid out, dollars", "title": "Amount" }, "kind": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "\"water\", \"fire\", \"theft\", \"wind/hail\", \"liability\"…", "title": "Kind" }, "on": { "anyOf": [ { "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "type": "string" }, { "type": "null" } ], "default": null, "description": "When it happened: YYYY, YYYY-MM or YYYY-MM-DD", "title": "On" } }, "title": "LossInput", "type": "object" }, "PropertyBlock": { "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" }, "RentersAsk": { "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" }, "VehicleInput": { "additionalProperties": true, "description": "One vehicle on the policy.", "properties": { "annual_mileage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Annual Mileage" }, "anti_lock_brakes": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Anti Lock Brakes" }, "anti_theft": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'alarm' / 'active_disable' / 'passive_disable' / 'recovery_device'", "title": "Anti Theft" }, "body_style": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "Trim / body style, e.g. \"XLT AWD 4D GAS\"", "title": "Body Style" }, "bought_new": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Bought New" }, "commute_days": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Commute days per week", "title": "Commute Days" }, "cost": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Cost new, whole dollars", "title": "Cost" }, "daytime_running_lights": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Daytime Running Lights" }, "garaging_zip": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "ZIP where this vehicle is kept, when different from zip_code", "title": "Garaging Zip" }, "make": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Make" }, "model": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" }, "one_way_miles": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "One-way commute distance, miles", "title": "One Way Miles" }, "ownership": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'owned' / 'financed' / 'leased'", "title": "Ownership" }, "primary_use": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'Personal' / 'Commute' / 'Business'", "title": "Primary Use" }, "purchase_date": { "anyOf": [ { "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "type": "string" }, { "type": "null" } ], "default": null, "description": "When bought: YYYY, YYYY-MM or YYYY-MM-DD", "title": "Purchase Date" }, "trim": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Trim" }, "vin": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Vin" }, "year": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Year" } }, "title": "VehicleInput", "type": "object" }, "ViolationInput": { "additionalProperties": true, "description": "One moving violation.", "properties": { "kind": { "description": "The violation in plain words: \"speeding\", \"DUI\", \"reckless driving\", \"running a red light\"…", "maxLength": 200, "minLength": 1, "title": "Kind", "type": "string" }, "on": { "description": "When it happened: YYYY, YYYY-MM or YYYY-MM-DD", "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "title": "On", "type": "string" } }, "required": [ "on", "kind" ], "title": "ViolationInput", "type": "object" }, "WalkAutoBlock": { "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" }, "WalkDriverInput": { "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" }, "military_affiliation": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'active' / 'veteran' / 'family' / 'none'", "title": "Military Affiliation" }, "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" }, "WalkPriorInsuranceInput": { "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" } }, "properties": { "carriers": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Carriers" }, "dispatch_ready_only": { "default": false, "title": "Dispatch Ready Only", "type": "boolean" }, "identity": { "anyOf": [ { "$ref": "#/$defs/ApplicantIdentity" }, { "type": "null" } ], "default": null }, "lines": { "anyOf": [ { "$ref": "#/$defs/LinesInput" }, { "type": "null" } ], "default": null }, "profile": { "$ref": "#/$defs/LiveQuoteProfile", "type": "object" }, "user_authorization": { "default": "", "title": "User Authorization", "type": "string" } }, "required": [ "profile" ], "title": "live_carrier_quotesArguments", "type": "object" }, "name": "live_carrier_quotes", "outputSchema": { "$defs": { "AgentStatusSummary": { "additionalProperties": true, "properties": { "carrier": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Carrier" }, "carrier_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Carrier Key" }, "declined": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Declined" }, "detail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Detail" }, "eta_seconds_remaining": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Eta Seconds Remaining" }, "line": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Line" }, "premium": { "anyOf": [ { "type": "number" }, { "type": "string" }, { "type": "null" } ], "default": null, "title": "Premium" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" }, "term_months": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Term Months" } }, "title": "AgentStatusSummary", "type": "object" } }, "additionalProperties": true, "properties": { "agents": { "anyOf": [ { "items": { "$ref": "#/$defs/AgentStatusSummary" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Agents" }, "assumptions": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Assumptions" }, "authorization_recorded": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Authorization Recorded" }, "coverage_selection": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Coverage Selection" }, "detail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Detail" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Error" }, "example_arguments": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Example Arguments" }, "needs": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Needs" }, "note": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Note" }, "ready": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Ready" }, "recover": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Recover" }, "skipped": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Skipped" }, "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Status" } }, "title": "DispatchResult", "type": "object" } }, { "description": "Purpose: generate instant, itemized quote estimates from the carriers\n Foresee supports, across the lines and states Foresee currently serves,\n in one call — the LIVE TODAY line at the end of this description names\n today's set.\n\n `lines` is REQUIRED and is ONE map: each key names a line to price (e.g.\n \"auto\", \"renters\", \"home\" — plain words are fine), each value is that\n line's coverage ask as actual numbers. A line Foresee doesn't quote in\n the user's state comes back under `skipped`: `lines` names each one and\n `message` is one sentence, written to be relayed to the user as-is,\n naming what Foresee does quote in that state. For auto\n the ask has four axes — `bi` (bodily-injury liability, per-person/\n per-accident in $000s, e.g. \"100/300\"), `pd` (property-damage liability in\n $000s, e.g. 100), `coll_deductible` (collision deductible in dollars, e.g.\n 500) and `comp_deductible` (comprehensive deductible in dollars, e.g.\n 500); `um` and `medpay` are optional. A renters ask has four axes —\n `coverage_c` (personal-property/contents limit in dollars, e.g. 30000),\n `coverage_e` (personal liability in dollars, e.g. 100000), `coverage_f`\n (guest medical in dollars, e.g. 1000) and `deductible` (all-perils, in\n dollars, e.g. 500); `coverage_d` is optional. A home ask: `coverage_a`\n (the dwelling's replacement cost in dollars), `coverage_e` (e.g. 300000),\n `coverage_f` (e.g. 1000) and `aop_deductible` (all-other-perils\n deductible in dollars, e.g. 1000). There are no named coverage levels\n and the server never defaults: pass exact numbers. An omitted OPTIONAL\n axis (`um`, `medpay`, `coverage_d`) keeps each carrier's own\n default — the quote's per-coverage lines show what was rated. Any\n numbers at or above the state's legal minimum work as the ask (an auto\n `bi`/`pd` below it prices nothing — no carrier may sell that policy — and\n comes back under `coverage_required` naming the minimum); each carrier's\n `price_ladder` prices every other rung, so a starting\n selection is easy to refine after the fact. An incomplete ask on a\n live line prices nothing and answers with `coverage_required` naming that\n line's own axes; an axis supplied with a value no carrier offers (`bi`\n \"banana\", a negative deductible) is refused the same way, naming the bad\n value and the format the axis takes. Each supported carrier is priced at\n the selection given; a carrier that doesn't offer an asked rung is priced\n at its nearest offered one and says so: its entry carries\n `rated_vs_asked` (per axis: `asked`, `rated`, and `coverage` \"less\"/\"more\"\n than asked; the dense text puts it on the `C` row as `rated`). That price is NOT\n like-for-like — state the rated limits next to it every time you show it\n (e.g. \"$255/mo — 30/60 BI / $25k PD, the most this carrier offers, not\n the 100/300 / $100k you asked for\"), and never let it headline or anchor\n a cheapest/spread claim without saying so. A carrier Foresee can't price\n appears in `failures` with the reason, as does one Foresee can't price\n for a line it was asked on (no program served there yet, or the carrier\n doesn't sell that line in the state) — a carrier never silently vanishes\n from a line's results. Priced results come back per line under\n `by_line`.\n\n Profile requirements: ZIP code, age (or dob) and — for auto — each\n vehicle's year/make/model are REQUIRED; they have no server-side\n fallback. A missing or mistyped one errors at the schema with guidance;\n a value that fits the schema but cannot rate (\"not-a-zip\", a negative\n age) comes back in `profile_required` naming it, with guidance on what\n the field takes. Use the profile schema's exact field names: a key the\n schema doesn't name is carried but never rated. A complete call — a\n 25-year-old in Oakland with a 2021 Civic, a January 2025 speeding ticket\n and a 2023 at-fault accident, asking for 100/300 BI, $100k PD and $500\n collision/comprehensive deductibles:\n {\"profile\": {\"zip_code\": \"94621\", \"age\": 25, \"auto\": {\"drivers\": [{\"violations\": [{\"on\": \"2025-01\", \"kind\": \"speeding\"}], \"accidents\": [{\"on\": \"2023-06-15\", \"at_fault\": true, \"amount\": 4200}]}], \"vehicles\": [{\"year\": 2021, \"make\": \"Honda\", \"model\": \"Civic\"}]}}, \"lines\": {\"auto\": {\"bi\": \"100/300\", \"pd\": 100, \"coll_deductible\": 500, \"comp_deductible\": 500}}}\n Every violation needs `kind` and `on`, every accident `on`; an\n incomplete entry is refused naming its path, never assumed away.\n\n Each carrier returns a **point estimate**\n (`monthly`) plus a `confidence_interval` that reflects only what's genuinely\n unresolvable (irreducible), NOT missing profile fields. A field the caller\n omits is filled with ONE declared value and reported in `assumptions` /\n `tighten_by` (the reducible \"tell us X and we sharpen\" gap) — the response\n is built to be presented early and refined, never widened into\n a vague range. Each entry's `field` is the exact profile path to send\n the user's real answer under (e.g. `auto.drivers[].violations`), and\n `tighten_by` lists those same paths. The one exception is\n `incident_details`: it is answered by completing the incident entries\n already sent (dates, fault, BI split), not under a fresh key.\n\n Each carrier's `quote` carries every sub-coverage line (BI/PD/collision/\n comprehensive/UM…) with its monthly price, at the selection you passed (echoed\n as `coverage_selection`). Most carriers also carry a `price_ladder`: for each\n coverage lever of the line (auto: BI limit, PD limit, collision/comprehensive\n deductible; renters: deductible and the C/E/F limits; home: AOP deductible\n and the A/E/F limits) the exact\n price at every rung, one lever moved at a time with everything else\n held at the user's selection — the ladder is anchored at the selection you\n passed, so its `anchor.monthly` is the carrier's `monthly`. It answers\n limit/deductible what-ifs with real marginal prices.\n Every ladder number IS an exact re-rate; a combined change or an unlisted\n rung has no derivable price (rating is not linear), so those price only\n through a re-call with the new `coverage_selection`. A profile what-if\n (a cleaner record, another vehicle, a different ZIP) prices the same way:\n re-call with the changed profile.\n \n\nRESULT FORMAT: compact machine text on `dense`, one section per line. Each section opens Q <state> <line> sel=<the coverage_selection priced, as JSON>. assumptions:, tighten_by:, input_flags: and not_rated: carry those fields; each entry's `field` (and each tighten_by item) is the profile path to send the user's answer under, and `incident_details` is answered by completing the incident entries already sent. not_priced: <carrier>,…:<reason> ; … is the line's `failures`, grouped by reason. skipped <line>,…: <message> names the lines not quoted in this state. Row types — C: carrier|entity|monthly|ci lo-hi, then |rated <axis>=<rung>(asked <X>,less|more);… when the price is for a rung other than the ask (`rated_vs_asked`). W: a warning on the carrier above. L: monthly $ per coverage line (already monthly, every carrier), under codes that mean the same coverage at every carrier: BI PD UMBI UIMBI UMPD MEDPAY PIP COLL COMP RENTAL TOWING GAP; A+B is one premium covering both (BI+PD); FEE is a flat fee; any other code is a coverage only that carrier sells. D <lever> <selected>=option:±$: the change in the carrier's monthly for each option of that lever, everything else held at the selection; <selected>(asked <X>) means X is not an option and the price sits at the selected rung — answer deductible/limit what-ifs from D without another call (new monthly = monthly + delta). Only state numbers that appear in the result or follow from monthly + a D delta; if a rung is not in D for a carrier, say the carrier has no such option rather than guessing.\n\nWhen the user wants firm numbers straight from the carriers, offer live carrier quotes: Foresee agents complete the carriers' real quote flows via live_carrier_quotes (which explains the required disclosure + consent affirmation; no sign-in is needed). Instant quotes stay the first answer; live quotes are the follow-up.\n\nLIVE TODAY: Foresee quotes auto in CA today.", "inputSchema": { "$defs": { "AccidentInput": { "additionalProperties": true, "properties": { "amount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Damage paid out, dollars", "title": "Amount" }, "at_fault": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "At Fault" }, "on": { "description": "When it happened: YYYY, YYYY-MM or YYYY-MM-DD", "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "title": "On", "type": "string" } }, "required": [ "on" ], "title": "AccidentInput", "type": "object" }, "AutoAsk": { "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" }, "AutoBlock": { "additionalProperties": true, "description": "Omit it for a household without a car.", "properties": { "drivers": { "anyOf": [ { "items": { "$ref": "#/$defs/DriverInput" }, "maxItems": 10, "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": "AutoBlock", "type": "object" }, "DriverInput": { "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" }, "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" }, "gender": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Gender" }, "industry": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Industry" }, "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" } }, "title": "DriverInput", "type": "object" }, "HeldPolicyInput": { "additionalProperties": true, "description": "A policy the household already holds.", "properties": { "carrier": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "Who writes it, e.g. \"State Farm\"", "title": "Carrier" }, "in_force": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "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" }, "HomeAsk": { "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" }, "LinesInput": { "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" }, "LossInput": { "additionalProperties": true, "description": "One prior property loss.", "properties": { "amount": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Paid out, dollars", "title": "Amount" }, "kind": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "\"water\", \"fire\", \"theft\", \"wind/hail\", \"liability\"…", "title": "Kind" }, "on": { "anyOf": [ { "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "type": "string" }, { "type": "null" } ], "default": null, "description": "When it happened: YYYY, YYYY-MM or YYYY-MM-DD", "title": "On" } }, "title": "LossInput", "type": "object" }, "PriorInsuranceInput": { "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" }, "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": "PriorInsuranceInput", "type": "object" }, "PropertyBlock": { "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" }, "QuoteProfile": { "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/AutoBlock" }, { "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" }, "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/PriorInsuranceInput" }, { "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": "QuoteProfile", "type": "object" }, "RentersAsk": { "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" }, "VehicleInput": { "additionalProperties": true, "description": "One vehicle on the policy.", "properties": { "annual_mileage": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Annual Mileage" }, "anti_lock_brakes": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Anti Lock Brakes" }, "anti_theft": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'alarm' / 'active_disable' / 'passive_disable' / 'recovery_device'", "title": "Anti Theft" }, "body_style": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "Trim / body style, e.g. \"XLT AWD 4D GAS\"", "title": "Body Style" }, "bought_new": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Bought New" }, "commute_days": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Commute days per week", "title": "Commute Days" }, "cost": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Cost new, whole dollars", "title": "Cost" }, "daytime_running_lights": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Daytime Running Lights" }, "garaging_zip": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "ZIP where this vehicle is kept, when different from zip_code", "title": "Garaging Zip" }, "make": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Make" }, "model": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Model" }, "one_way_miles": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "One-way commute distance, miles", "title": "One Way Miles" }, "ownership": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'owned' / 'financed' / 'leased'", "title": "Ownership" }, "primary_use": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "description": "'Personal' / 'Commute' / 'Business'", "title": "Primary Use" }, "purchase_date": { "anyOf": [ { "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "type": "string" }, { "type": "null" } ], "default": null, "description": "When bought: YYYY, YYYY-MM or YYYY-MM-DD", "title": "Purchase Date" }, "trim": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Trim" }, "vin": { "anyOf": [ { "maxLength": 200, "type": "string" }, { "type": "null" } ], "default": null, "title": "Vin" }, "year": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Year" } }, "title": "VehicleInput", "type": "object" }, "ViolationInput": { "additionalProperties": true, "description": "One moving violation.", "properties": { "kind": { "description": "The violation in plain words: \"speeding\", \"DUI\", \"reckless driving\", \"running a red light\"…", "maxLength": 200, "minLength": 1, "title": "Kind", "type": "string" }, "on": { "description": "When it happened: YYYY, YYYY-MM or YYYY-MM-DD", "pattern": "^\\d{4}(?:-\\d{2}){0,2}$", "title": "On", "type": "string" } }, "required": [ "on", "kind" ], "title": "ViolationInput", "type": "object" } }, "properties": { "carriers": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "description": "Price only these carriers, named by the `carrier_key` results carry (e.g. [\"geico\", \"statefarm\"]). Omit to price every carrier Foresee supports; a named carrier Foresee can't price comes back in `failures`.", "title": "Carriers" }, "include_failures": { "default": true, "description": "Report each carrier Foresee couldn't price under `failures`, with the reason. Leave true unless the user asked to see priced carriers only.", "title": "Include Failures", "type": "boolean" }, "lines": { "$ref": "#/$defs/LinesInput", "type": "object" }, "profile": { "$ref": "#/$defs/QuoteProfile", "type": "object" } }, "required": [ "profile", "lines" ], "title": "quote_insuranceArguments", "type": "object" }, "name": "quote_insurance", "outputSchema": { "$defs": { "BundleSummary": { "additionalProperties": true, "properties": { "bundle_total": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Bundle Total" }, "lines": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Lines" }, "savings": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Savings" }, "standalone_total": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Standalone Total" } }, "title": "BundleSummary", "type": "object" }, "CarrierQuoteSummary": { "additionalProperties": true, "properties": { "carrier": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Carrier" }, "carrier_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Carrier Key" }, "carrier_quote_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Carrier Quote Url" }, "confidence_interval": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Confidence Interval" }, "monthly": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Monthly" }, "rated_vs_asked": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Rated Vs Asked" }, "warnings": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Warnings" } }, "title": "CarrierQuoteSummary", "type": "object" }, "LineQuoteSummary": { "additionalProperties": true, "properties": { "assumptions": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Assumptions" }, "carriers": { "anyOf": [ { "items": { "$ref": "#/$defs/CarrierQuoteSummary" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Carriers" }, "coverage_selection": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Coverage Selection" }, "failures": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Failures" }, "input_flags": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Input Flags" }, "not_rated": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Not Rated" }, "tighten_by": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "default": null, "title": "Tighten By" } }, "title": "LineQuoteSummary", "type": "object" }, "SkippedLines": { "additionalProperties": true, "properties": { "lines": { "items": { "type": "string" }, "title": "Lines", "type": "array" }, "message": { "title": "Message", "type": "string" } }, "required": [ "lines", "message" ], "title": "SkippedLines", "type": "object" } }, "additionalProperties": true, "properties": { "bundle": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/BundleSummary" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Bundle" }, "by_line": { "anyOf": [ { "additionalProperties": { "$ref": "#/$defs/LineQuoteSummary" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "By Line" }, "coverage_required": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Coverage Required" }, "dense": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Dense" }, "detail": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Detail" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Error" }, "example_arguments": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "default": null, "title": "Example Arguments" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Message" }, "presentation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Presentation" }, "profile_required": { "anyOf": [ { "additionalProperties": { "type": "string" }, "type": "object" }, { "type": "null" } ], "default": null, "title": "Profile Required" }, "serviceable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "title": "Serviceable" }, "skipped": { "anyOf": [ { "$ref": "#/$defs/SkippedLines" }, { "type": "null" } ], "default": null }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "State" } }, "title": "QuoteToolResult", "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:f16379495557b6a2c281f0f2508e852512de6390248860981b1cfb666df71a73 | sha256sum