Foresee

offiziell

Foresee ermöglicht KI-Assistenten, Haus- und Kfz-Versicherungen über alle Anbieter und Deckungsoptionen hinweg zu vergleichen, indem es sofortige, genaue und detaillierte Angebotsschätzungen liefert.

Was kann man mit Foresee MCP machen?

  • Compare auto insurance quotes — Fordern Sie sofortige, aufgeschlüsselte Kostenvoranschläge von verschiedenen Anbietern an, indem Sie quote_insurance mit Ihren Fahrzeug- und Deckungsdetails verwenden.
  • Price home or renters coverage — Erhalten Sie detaillierte Angebote für Haus- oder Mieterversicherungen, indem Sie Immobiliendetails und Deckungsgrenzen wie coverage_a oder coverage_c angeben.
  • Explore coverage trade-offs — Sehen Sie, wie sich Änderungen bei Selbstbehalten oder Deckungsgrenzen auf die monatlichen Prämien auswirken, anhand von Preisleitern in der Antwort.
  • Identify missing factors — Fragen Sie, welche fehlenden Details (wie annual_mileage oder Fahrerhistorie) Ihren Kostenvoranschlag am stärksten beeinflussen würden, basierend auf tighten_by-Vorschlägen.
  • Confirm estimates with carriers — Verwenden Sie live_carrier_quotes auf dem Agents-Server, um Kostenvoranschläge direkt mit Versicherungsanbietern zu verifizieren.

Gehosteter MCP-Server

npx add-mcp 'https://agents.go-foresee.com/mcp'

Installiert in Claude Code, Codex, Cursor und mehr

Dokumentation

Dokumentation

Foresee ermöglicht KI-Assistenten, Haus- und Kfz-Versicherungen über alle Anbieter und Deckungsoptionen hinweg zu vergleichen, indem es sofortige, genaue und detaillierte Angebotsschätzungen liefert.

Foresee verwenden

Foresee hostet zwei MCP-Server:

Nutzer, die eine einfache, unkomplizierte Angebotsschätzung wünschen, ohne ihre personenbezogenen Daten preiszugeben, verwenden:

https://mcp.go-foresee.com/mcp

Nutzer, die Angebotsschätzungen auch direkt bei den Versicherern bestätigen möchten, können Foresees Computer-Use-Agenten über Folgendes einsetzen:

https://agents.go-foresee.com/mcp

Keiner der Server erfordert eine Authentifizierung.

Tools

Foresee veröffentlicht zwei Tools auf den MCP-Servern:

ToolZweckagents.mcp.
quote_insuranceSofortige, genaue und detaillierte Angebotsschätzungen erstellen✅✅
live_carrier_quotesAngebotsschätzungen bei Versicherern bestätigen✅❌

Tool 1: quote_insurance

Zweck: In einem einzigen Aufruf sofortige, positionsgenaue Angebotsschätzungen von den von Foresee unterstützten Versicherern erstellen, über alle Sparten und Bundesstaaten, die Foresee derzeit bedient.

Eingabeparameter

ParameterTypErforderlichDetails
profileObjektjasiehe Profil
linesObjektjaSchlüssel sind die zu bewertenden Sparten (auto, home, renters); Werte sind die Deckungsoptionen dieser Sparte (siehe Deckungsoptionen)
carriersstring[]neinStandardmäßig „alle Versicherer"
include_partialbooleanneinfalse
include_failuresbooleanneintrue

Profil

Kernprofil

Es gibt eine Kerneingabe profile sowie zusätzliche Blöcke für Kfz- und Haus-/Mieterversicherung. Die einzigen Pflichtfelder sind Alter (oder dob), PLZ und (für die Kfz-Versicherung) Fahrzeugdetails.

Ausgelassene optionale Felder werden zu deklarierten Annahmen: Wir wählen einen konservativen Ersatzwert, der als assumptions zurückgemeldet wird – z. B. annual_mileage = 12000, mit einem tighten_by-Eintrag, der die Annahmen auflistet, die den Preis am stärksten beeinflussen würden. prior_insurance bedeutet Versicherung für dieselbe Sparte; companion_policies bedeutet Versicherung für eine andere Sparte

FeldTypErforderlich
zip_codestringja
ageintegerja
dobstring, YYYY-MM-DDakzeptierte Alternative zu age
citystringnein
genderstringnein
marital_statusstringnein
educationstringnein
employment_statusstringnein
occupationstringnein
credit_rangestringnein
home_ownership_statusstringnein
residence_typestringnein
military_affiliationstringnein
membershipsstring[]nein
effective_datestringnein
prior_insuranceObjektnein
companion_policiesstring[]nein

Kfz-Versicherungsprofil

FeldTypErforderlich
auto.vehicles[].yearintegerja
auto.vehicles[].makestringja
auto.vehicles[].modelstringja
auto.vehicles[].ownershipstringnein
auto.vehicles[].annual_mileageintegernein
auto.vehicles[].primary_usestringnein
auto.vehicles[].garaging_zipstringnein
auto.drivers[].relationstringnein (self für den ersten)
auto.drivers[].dobstringnein
auto.drivers[].years_licensedintegernein
auto.drivers[].accidentsObjekt[]nein
auto.drivers[].violationsObjekt[]nein
auto.drivers[].sr22_requiredbooleannein

accidents und violations sind Listen strukturierter Objekte, wobei eine leere Liste einen sauberen Datensatz bedeutet.

Haus- und Mieterversicherungsprofil

FeldTypErforderlich
property.year_builtintegernein
property.construction_typestringnein
property.roof_typestringnein
property.square_feetintegernein
property.protection_classstringnein
property.replacement_costintegernein
property.devicesstring[]nein
property.lossesObjekt[]nein

Deckungsoptionen

Jeder Schlüssel in lines nimmt die Deckungsoptionen dieser Sparte. Es wird nichts zu einem Server-Standardwert bewertet: Die Optionen, die Sie übergeben, sind diejenigen, die bewertet werden.

Kfz

OptionTypErforderlichWas sie abdeckt
bistringjaPersonenschaden-Haftpflicht: Verletzungen, die Sie anderen Personen zufügen. Deckungssumme pro Person/pro Unfall in Tausend, z. B. "100/300"
pdintegerjaSachschaden-Haftpflicht: Schäden, die Sie an Fahrzeugen und Eigentum anderer verursachen. Deckungssumme in Tausend, z. B. 100
coll_deductibleintegerjaKollision: Schäden am eigenen Fahrzeug durch einen Unfall, unabhängig vom Verschulden. Der Selbstbehalt, den Sie pro Schadensfall zahlen, in Dollar
comp_deductibleintegerjaVollkasko: Schäden am eigenen Fahrzeug durch alles außer einem Unfall – Diebstahl, Feuer, Hagel, Vandalismus, Tierkollision. Der Selbstbehalt, den Sie pro Schadensfall zahlen, in Dollar
umstringneinUnter-/Nichtversicherter Fahrer: Ihre Verletzungen, wenn der Unfallverursacher keine oder zu wenig Versicherung hat. Deckungssumme pro Person/pro Unfall in Tausend, z. B. "100/300"
medpayintegerneinKrankheitskosten: Arztrechnungen für Sie und Ihre Mitfahrer, unabhängig vom Verschulden. Deckungssumme in Dollar, z. B. 5000

Haus

OptionTypErforderlichWas sie abdeckt
coverage_aintegerjaWohngebäude: Wiederaufbau des Hauses selbst. Deckungssumme in Dollar, in der Regel der Wiederbeschaffungswert
coverage_eintegerjaPrivathaftpflicht: Verletzungen oder Schäden, für die Sie rechtlich haftbar sind, auf oder außerhalb des Grundstücks. Deckungssumme in Dollar
coverage_fintegerjaKrankheitskosten für andere: Arztrechnungen eines Gastes nach einer Verletzung auf Ihrem Grundstück, unabhängig vom Verschulden. Deckungssumme in Dollar
aop_deductibleintegerjaSelbstbehalt für alle anderen Gefahren: Was Sie pro Schadensfall für alles zahlen, außer für Gefahren mit eigenem Selbstbehalt (z. B. Erdbeben). In Dollar

Die Deckungen B (andere Gebäude, z. B. eine freistehende Garage oder ein Zaun), C (Hausrat – Ihr persönliches Eigentum) und D (Nutzungsausfall – Lebenshaltungskosten, solange das Haus nicht bewohnbar ist) werden nicht in Dollar abgefragt – sie werden in sel als Verhältnisse der Deckung A zurückgegeben, die bewertet wurden.

Mieter

OptionTypErforderlichWas sie abdeckt
coverage_cintegerjaHausrat: Ihr persönliches Eigentum. Deckungssumme in Dollar
coverage_eintegerjaPrivathaftpflicht: Verletzungen oder Schäden, für die Sie rechtlich haftbar sind. Deckungssumme in Dollar
coverage_fintegerjaKrankheitskosten für andere: Arztrechnungen eines Gastes nach einer Verletzung in Ihrem Zuhause, unabhängig vom Verschulden. Deckungssumme in Dollar
deductibleintegerjaWas Sie pro Schadensfall zahlen, bevor die Deckung greift. In Dollar
coverage_dintegerneinNutzungsausfall: Zusätzliche Lebenshaltungskosten, wenn Sie ausziehen müssen, während die Wohnung repariert wird. Deckungssumme in Dollar

Antwortformat

PräfixHäufigkeitBedeutung
Qeinmal pro SparteWas bewertet wurde: Bundesstaat, Geschäftssparte, Deckungsauswahl
format: factors:einmal pro SparteSelbstbeschreibende Legende für alles unten
assumptions:einmal pro SparteVon Foresee getroffene Annahmen; high_impact: true bedeutet, dass dieses Feld die Angebotsschätzung wesentlich beeinflusst
tighten_by:einmal pro SparteDie Annahmen/fehlenden Fakten, die den Preis am stärksten beeinflussen würden
not_priced:wenn zutreffendAusgeschlossene Versicherer, mit Begründung
Ceinmal pro VersichererVersicherer, schreibende Rechtseinheit, monatliche Prämie (Punktschätzung und Konfidenzintervall)
Wnach BedarfWarnung zum obigen Versicherer – z. B. „Schreibt keine staatlichen Mindestdeckungen für Personen-/Sachschäden"
Leinmal pro VersichererMonatliche Kosten pro Deckung oder Gefahr
Fviele pro VersichererEin Tariffaktor pro Zeile, benannt in der factors:-Legende. Werte entsprechen eins zu eins den L-Codes: leer = betrifft diese Deckung nicht, ein einzelner Wert = gilt für alle Deckungen. Die Klammer ist die Zeile, auf der das Profil gelandet ist (eine Stufe wie 100/300, ein Fakt wie 90066 oder applied / not applied). Wert-Suffix: keins = exakt, ~ = abgeleitet, ? = geschätzt
Dpro VersichererPreisleitern: für jeden Deckungshebel jede angebotene Stufe als ±$/Monat gegenüber dem zitierten Monatsbetrag, alles andere auf der Auswahl gehalten. +0.00 markiert die ausgewählte Stufe; (asked X) = X wird nicht angeboten und der Preis liegt auf der nächstgelegenen angebotenen Stufe. Neu bewerten ab D; nicht erneut aufrufen

Beispiel: Kfz

Ein 41-Jähriger in PLZ 90066 mit einem Honda Civic Baujahr 2021.

Mercury zeigt die einfache Versichererzelle; Travelers tarifiert über zwei mögliche schreibende Rechtseinheiten, daher trägt seine Zelle ein ci-Segment (die Platzierungsspanne). USAA landet in not_priced mit der eigenen Begründung des Versicherers.

{
  "profile": {
    "zip_code": "90066",
    "age": 41,
    "auto": {"vehicles": [{"year": 2021, "make": "Honda", "model": "Civic"}]}
  },
  "lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}},
  "carriers": ["mercury", "travelers", "usaa"]
}

Jedes ausgelassene Profilfeld kommt als deklarierte Annahme zurück – der fette assumptions: Block unten wird durch die dünne Anfrage oben verursacht, und tighten_by: listet die sieben Antworten auf, die den Preis am stärksten beeinflussen würden. Mercury zeigt die einfache Versichererzelle; Travelers tarifiert über zwei mögliche schreibende Rechtseinheiten, daher trägt seine Zelle ein ci-Segment (die Platzierungsspanne). USAA landet in not_priced mit der eigenen Begründung des Versicherers.

Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=BI Limit f1=Good Driver f2=Group Placement (Rule G) f3=PD Limit f4=UMBI Limit f5=Medical Payments Limit f6=Comprehensive Deductible f7=Collision Deductible f8=Vehicle Symbol f9=ca_good_driver_pri f10=group f11=UM Limit
assumptions: [{"assumed":"Male","field":"gender","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":12000,"field":"annual_mileage","high_impact":true},{"assumed":0,"field":"accidents_3yr","high_impact":true},{"assumed":0,"field":"violations_3yr","high_impact":true},{"assumed":false,"field":"dui","high_impact":true},{"assumed":false,"field":"currently_insured","high_impact":true},{"assumed":null,"field":"homeowner","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: annual_mileage,accidents_3yr,violations_3yr,dui,currently_insured,occupation,memberships
not_priced: usaa:USAA sells only to military members, veterans, and their fam
C mercury|Mercury Insurance Company|235.11
L BI:56.33,PD:44.10,UMBI:16.85,MP:0.97,COMP:17.49,COLL:99.38
F f0(100/300)=1.51,,,,,
F f1(applied)=0.8
F f2(not applied)=1.0
F f3(100)=,1.38,,,,
F f4(30/60)=,,1.65,,,
F f5(1000)=,,,1.0,,
F f6(500)=,,,,0.89,
F f7(500)=,,,,,1.0
D bi 100/300=15/30 *available through December 31, 2024:-19.03,25/50 *available through December 31, 2024:-14.18,30/60 *available on or after January 1, 2025:-9.70,50/100:-6.72,100/300:+0.00,250/500:+12.31,300/300:+12.68,500/500:+23.13
D pd 100=5:-15.34,10:-12.14,15:-9.27,25:-7.99,50:-2.88,100:+0.00,250:+2.56,300:+3.83
D coll_deductible 500=100:+19.87,200:+14.91,250:+12.42,500:+0.00,1000:-9.94,2000:-29.81,2500:-39.75
D comp_deductible 500=25:+25.74,50:+17.88,100:+11.00,200:+6.09,250:+2.75,500:+0.00,1000:-2.75,2000:-5.70,2500:-8.06
C travelers|Travelers Commercial Insurance Company|368.50|ci 327.21-415.00
L BI:149.00,PD:70.17,CP:15.50,CL:114.33,UMBI:19.50
F f0(100000/300000)=1.649,,,,
F f8(symbol AA)=1.009?,1.003?,,,
F f9(applied)=0.8
F f10(not applied)=1.0
F f3(100000)=,1.443,,,
F f6(500)=,,0.627,,
F f8(symbol 12)=,,0.941?,,
F f7(500)=,,,0.801,
F f8(symbol 17)=,,,1.013?,
F f11(30000/60000)=,,,,1.5
F f8(symbol 1)=,,,,1.0?
D pd 100=5:-21.50,10:-10.50,15:-6.67,25:-2.83,50:-0.67,100:+0.00,250:+0.50,300:+0.83,500:+1.17
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.

Auto-L-Codes sind die Deckungen, die der Versicherer bewertet (kombiniert BIPD, oder aufgeteilt BI/PD, plus Kollision, Vollkasko, UM, Gebühren). Sie sind nicht über das Panel hinweg normalisiert.


Beispiel: Haus

Dieselbe 41-jährige Person wie oben, die ein Fachwerkhaus aus dem Jahr 1998 mit einem Wiederbeschaffungswert von 450.000 $ versichert:

{
  "profile": {
    "zip_code": "90066",
    "age": 41,
    "property": {"year_built": 1998, "construction_type": "frame", "replacement_cost": 450000}
  },
  "lines": {"home": {"coverage_a": 450000, "coverage_e": 300000, "coverage_f": 1000, "aop_deductible": 1000}},
  "carriers": ["mercury", "autoclub"]
}

sel spiegelt B/C/D als Verhältnisse der Deckung A wider, die bewertet wurden. Mercurys L ist eine Gefahrenaufschlüsselung (Feuer, Wasser, Waldbrand, Gebühren); AAA meldet stattdessen eine Paketprämie. Gebäudefakten stehen in assumptions:/tighten_by: – hier Dachtyp, Schutzklasse und eine saubere Schadenhistorie.

Q CA home sel={"aop_deductible":1000,"coverage_a":450000,"coverage_b_pct":0.1,"coverage_c_pct":0.5,"coverage_d_pct":0.2,"coverage_e":300000,"coverage_f":1000}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=Deductible f1=Coverage A f2=Multiple Policy Discount (Automobile) f3=Personal Property Replacement Cost f4=Additional Replacement Cost f5=Ordinance or Law f6=Reduced Coverage Endorsement f7=Coverage E f8=Coverage F f9=Enhanced Home Package f10=Water Backup Limit f11=Other Perils Deductible (Table 5 relativity, additive) f12=Water Deductible (Table 5 relativity, additive) f13=Coverage A / Amount of Insurance Relativity (Table 5) f14=Package Discount (Exchange auto policy)
assumptions: [{"assumed":"Asphalt Shingle","field":"roof_type","high_impact":false},{"assumed":1,"field":"stories","high_impact":false},{"assumed":2,"field":"bathrooms","high_impact":false},{"assumed":1,"field":"families","high_impact":false},{"assumed":"Primary","field":"residency_type","high_impact":false},{"assumed":5,"field":"protection_class","high_impact":true},{"assumed":"Attached","field":"garage_type","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: protection_class,home_losses
C mercury|CALIFORNIA AUTOMOBILE INS CO|123.67
L P1_FIRE:34.69,P2_LIABILITY:6.39,P3_THEFT:6.40,P4_WIND:2.68,P5_WATER:61.56,P6_OTHER:3.57,P7_CAT_WIND:0.97,P10_CAT_WATER:0.04,P12_WILDFIRE:0.43,P13_FFEQ:1.36,WC_RESIDENCE_EMPLOYEES_910:0.67,FEE:3.75,FEE:1.16,FEE:0.01
F f0(1000)=0.95,,0.887,0.963,1.0,0.909,0.963,1.0,0.95,0.95,,,,
F f1(450000)=1.895,1.206,1.142,0.901,2.519,1.176,0.901,2.519,1.518,2.313,,,,
F f2(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f3(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f4(No)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f5(0.1)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f6(No)=1.0,,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,,,,
F f7(300000)=,1.5,,,,1.0,,,,,,,,
F f8(1000)=,1.5,,,,,,,,,,,,
F f9(No)=,,1.0,1.0,1.0,1.0,1.0,1.0,,,,,,
F f10(No)=,,,,1.0,,,1.0,,,,,,
D aop_deductible 1000=500:+13.38,1000:+0.00,1500:-5.38,2500:-21.45,3500:-26.58,5000:-37.01,10000:-48.28,25000:-63.01,50000:-72.51
D coverage_a 450000=30000:-90.60,65000:-82.94,95000:-76.38,130000:-68.81,165000:-61.24,195000:-54.76,230000:-47.27,265000:-39.79,295000:-33.39,330000:-25.82,365000:-18.34,395000:-11.94,430000:-4.37,445000:-1.17,450000:+0.00,455000:+1.01,465000:+3.20,500000:+10.86,570000:+26.34,630000:+39.88,700000:+56.03,770000:+72.77,830000:+87.49,900000:+105.41,970000:+124.09,2500000:+523.01,6000000:+1464.79
D coverage_e 300000=100000:-1.34,200000:-0.58,300000:+0.00,500000:+0.68,1000000:+4.04
D coverage_f 1000=1000:+0.00,2000:+0.17,5000:+0.42
C autoclub|Interinsurance Exchange of the Automobile Club|146.10
L Package:139.00,MedPayIL:0.00,LiabilityIL:2.08,BrushFire:0.00,FireFollowingEQ:3.42,FEE:1.60
F f11(1000)=0.393,,,,,
F f12(1000)=1.092,,,,,
F f13(450000)=1.485,,,,,
F f14(No)=1.0,,,,,
D aop_deductible 1000=500:+20.98,750:+7.59,1000:+0.00,1500:-11.45,2000:-16.93,3000:-21.06,5000:-25.36,10000:-28.73,15000:-51.90,20000:-63.44,25000:-71.53,30000:-77.34,50000:-90.49
D coverage_a 450000=60000:-120.65,90000:-115.51,110000:-110.96,130000:-105.66,150000:-99.59,170000:-92.85,190000:-86.53,220000:-76.17,250000:-64.54,280000:-54.09,320000:-40.02,350000:-29.15,360000:-26.54,400000:-16.00,440000:-3.62,450000:+0.00,460000:+2.45,480000:+9.44,550000:+32.95,650000:+77.19,750000:+98.00,850000:+116.62,950000:+147.71,2000000:+475.47,4000000:+1099.41,10000000:+2982.24
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.

Beispiel: Mieter

Ein anderer Haushalt an derselben PLZ: ein 27-jähriger Mieter:

{
  "profile": {"zip_code": "90066", "dob": "1998-11-11"},
  "lines": {"renters": {"coverage_c": 30000, "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}},
  "carriers": ["farmers", "usaa"]
}
Q CA renters sel={"coverage_c":30000,"coverage_e":100000,"coverage_f":1000,"deductible":500}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead
factors: f0=Coverage C - Personal Property f1=Deductible f2=Coverage D - Loss of Use (% of C) f3=Additional Living Expense Term (months) f4=Contents Loss Settlement (ACV) f5=Enhanced Personal Property Coverage f6=Claims Free Discount f7=Multi-Policy Discount - Renter/auto f8=Multi-Policy Discount - Renter/life f9=Multi-Policy Discount - Renter/umbrella f10=Multi-Policy Discount - Renter/business f11=Multi-Policy Discount - Renter/boat f12=Multi-Policy Discount - Renter/motorhome f13=Multi-Policy Discount - Renter/recreational_vehicle f14=Multi-Policy Discount - Renter/cea f15=ZIP Code f16=Fireline Score f17=Experience Rating (points) f18=Coverage E - Personal Liability f19=Premises Rented to Others Solely Used as a Private Residence
assumptions: [{"assumed":2000,"field":"year_built","high_impact":false},{"assumed":5,"field":"protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: home_losses
not_priced: usaa:USAA sells only to military members, veterans, and their fam
C farmers|Fire Insurance Exchange|29.88
L PC1_PROPERTY:21.00,PC2_LIABILITY:8.17,FEE:0.42,FEE:0.30
F f0(30000)=1.087,,,
F f1(500)=1.0,,,
F f2(20)=1.0,,,
F f3(12)=1.0,,,
F f4(N)=1.0,,,
F f5(N)=1.0,,,
F f6(Y)=0.9,,,
F f7(N)=1.0,1.0,,
F f8(N)=1.0,1.0,,
F f9(N)=1.0,1.0,,
F f10(N)=1.0,1.0,,
F f11(N)=1.0,1.0,,
F f12(N)=1.0,1.0,,
F f13(N)=1.0,1.0,,
F f14(N)=1.0,1.0,,
F f15(90066)=1.423,,,
F f16(0)=1.0,,,
F f17(0)=1.0,,,
F f18(100000)=,1.0,,
F f19({})=,1.0,,
D deductible 500=100:+5.89,250:+1.85,500:+0.00,1000:-2.61,1500:-4.29,2500:-6.73
D coverage_c 30000=4000:-16.33,10000:-11.95,17000:-7.15,23000:-3.87,29000:-0.59,30000:+0.00,31000:+0.51,37000:+3.79,43000:+7.07,49000:+10.36,55000:+13.64,62000:+17.43,68000:+20.71,74000:+23.99,81000:+27.78,87000:+31.06,93000:+34.35,100000:+38.14,106000:+41.42,112000:+44.70,118000:+47.99,125000:+51.77,131000:+55.06,137000:+58.34,144000:+62.13,150000:+65.41
D coverage_e 100000=100000:+0.00,300000:+3.28,500000:+5.56,1000000:+10.69
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.

Beispiel: Gebündelte Kfz- + Mieterversicherung

Derselbe 27-jährige Mieter, jetzt mit einem Auto. "incidents": [] bedeutet einen sauberen Datensatz, daher lassen die Fragen zur Fahrerhistorie assumptions: vollständig aus.

{
  "profile": {
    "zip_code": "90066",
    "age": 27,
    "incidents": [],
    "prior_insurance": {"insured": true, "carrier": "GEICO", "since": "2019"},
    "auto": {"vehicles": [{"year": 2021, "make": "Honda", "model": "Civic", "annual_mileage": 9000}]},
    "property": {"year_built": 1978, "square_feet": 850}
  },
  "lines": {
    "auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500},
    "renters": {"coverage_c": 30000, "coverage_e": 100000, "coverage_f": 1000, "deductible": 500}
  },
  "carriers": ["farmers", "mercury"]
}

Da wir nun Historie, Kilometerstand und Versicherungshistorie angeben, schrumpfen die Auto-assumptions: auf fünf Einträge und deren tighten_by: auf zwei. Der Mietersektion deklariert jedoch ihre eigenen Gebäude-Ersatzwerte; Mercury bewertet nur Kfz – eigenständig, ohne Bündel. Farmers bewertet beides und gewährt einen Rabatt von 20 %, dokumentiert im B. Die gleiche Zusammenfassung fährt als bundle: {farmers: {lines, bundle_total, standalone_total, savings}} auf structuredContent.

Q CA auto sel={"bi":"100/300","coll_deductible":500,"comp_deductible":500,"pd":100}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead ; B carrier|bundled $/mo|standalone $/mo|saves $/mo = this carrier priced the asked lines together; the per-line C prices ARE the bundled prices
factors: f0=BI Limit f1=Good Driver f2=Group Placement (Rule G) f3=PD Limit f4=UMBI Limit f5=Medical Payments Limit f6=Comprehensive Deductible f7=Collision Deductible f8=Business & Professional Group f9=UM Limit
assumptions: [{"assumed":"Male","field":"gender","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":null,"field":"homeowner","high_impact":false},{"assumed":null,"field":"occupation","high_impact":true},{"assumed":null,"field":"memberships","high_impact":true}]
tighten_by: occupation,memberships
C mercury|Mercury Insurance Company|289.94
L BI:66.80,PD:52.55,UMBI:17.38,MP:1.05,COMP:23.50,COLL:128.67
F f0(100/300)=1.51,,,,,
F f1(applied)=0.8
F f2(not applied)=1.0
F f3(100)=,1.38,,,,
F f4(30/60)=,,1.65,,,
F f5(1000)=,,,1.0,,
F f6(500)=,,,,0.89,
F f7(500)=,,,,,1.0
D bi 100/300=15/30 *available through December 31, 2024:-22.56,25/50 *available through December 31, 2024:-16.81,30/60 *available on or after January 1, 2025:-11.50,50/100:-7.96,100/300:+0.00,250/500:+14.60,300/300:+15.04,500/500:+27.43
D pd 100=5:-18.28,10:-14.47,15:-11.04,25:-9.52,50:-3.43,100:+0.00,250:+3.05,300:+4.57
D coll_deductible 500=100:+25.74,200:+19.30,250:+16.09,500:+0.00,1000:-12.87,2000:-38.60,2500:-51.47
D comp_deductible 500=25:+34.59,50:+24.03,100:+14.79,200:+8.19,250:+3.70,500:+0.00,1000:-3.70,2000:-7.66,2500:-10.83
C farmers|Farmers Insurance Exchange|398.00
L BI:111.83,PD:73.33,UMBI:28.33,UMPD:1.50,MED:13.33,COMP:34.00,COLL:133.17,FEE:2.50
F f0(100000/300000)=1.46,,,,,,,
F f1(applied)=0.8,0.8,0.8,0.8,0.8,0.8,0.8,
F f8(not applied)=1.0,1.0,1.0,1.0,1.0,1.0,1.0,
F f3(100000)=,1.2674,,,,,,
F f9(30000/60000)=,,1.2788,,,,,
F f6(500)=,,,,,1.0009,,
F f7(500)=,,,,,,1.1986,
D pd 100=15:-8.83,25:-5.00,50:-1.50,100:+0.00,250:+1.33,500:+3.17
D coll_deductible 500=250:+30.67,500:+0.00,750:-13.67,1000:-23.50,1500:-37.50,2500:-56.33,5000:-87.00
D comp_deductible 500=100:+23.67,250:+9.17,500:+0.00,750:-7.17,1000:-10.67,1500:-13.50,2500:-18.83,5000:-21.17
Q CA renters sel={"coverage_c":30000,"coverage_e":100000,"coverage_f":1000,"deductible":500}
format: Q state [line] sel=<coverage_selection priced, JSON> ; C=carrier|entity|monthly|ci lo-hi ; tighten_by=missing facts that most move the price — offer to re-quote with the user's answers ; L COV:$,.. = monthly $ per coverage ; F fid(selected)=v,v,.. = rating factor, one value per coverage in the L order, blank=not applied, single value=all coverages, suffix ?=estimated ~=derived none=exact ; D lever selected=option:±$/mo vs the carrier's monthly, others held at the selection (selected(asked X) = X is not an option; the price is at the selected rung shown) ; W = warning — e.g. an asked limit is not offered and the price covers the nearest offered rung instead ; B carrier|bundled $/mo|standalone $/mo|saves $/mo = this carrier priced the asked lines together; the per-line C prices ARE the bundled prices
factors: f0=Coverage C - Personal Property f1=Deductible f2=Coverage D - Loss of Use (% of C) f3=Additional Living Expense Term (months) f4=Contents Loss Settlement (ACV) f5=Enhanced Personal Property Coverage f6=Claims Free Discount f7=Multi-Policy Discount - Renter/auto f8=Multi-Policy Discount - Renter/life f9=Multi-Policy Discount - Renter/umbrella f10=Multi-Policy Discount - Renter/business f11=Multi-Policy Discount - Renter/boat f12=Multi-Policy Discount - Renter/motorhome f13=Multi-Policy Discount - Renter/recreational_vehicle f14=Multi-Policy Discount - Renter/cea f15=ZIP Code f16=Fireline Score f17=Experience Rating (points) f18=Coverage E - Personal Liability f19=Premises Rented to Others Solely Used as a Private Residence
assumptions: [{"assumed":5,"field":"protection_class","high_impact":false},{"assumed":"Single","field":"marital_status","high_impact":false},{"assumed":[],"field":"home_losses","high_impact":true}]
tighten_by: home_losses
C farmers|Fire Insurance Exchange|24.06
L PC1_PROPERTY:16.80,PC2_LIABILITY:6.54,FEE:0.42,FEE:0.30
F f0(30000)=1.087,,,
F f1(500)=1.0,,,
F f2(20)=1.0,,,
F f3(12)=1.0,,,
F f4(N)=1.0,,,
F f5(N)=1.0,,,
F f6(Y)=0.9,,,
F f7(Y - Farmers)=0.8,0.8,,
F f8(N)=1.0,1.0,,
F f9(N)=1.0,1.0,,
F f10(N)=1.0,1.0,,
F f11(N)=1.0,1.0,,
F f12(N)=1.0,1.0,,
F f13(N)=1.0,1.0,,
F f14(N)=1.0,1.0,,
F f15(90066)=1.423,,,
F f16(0)=1.0,,,
F f17(0)=1.0,,,
F f18(100000)=,1.0,,
F f19({})=,1.0,,
D deductible 500=100:+4.71,250:+1.48,500:+0.00,1000:-2.09,1500:-3.43,2500:-5.38
D coverage_c 30000=4000:-13.06,10000:-9.56,17000:-5.72,23000:-3.10,29000:-0.47,30000:+0.00,31000:+0.41,37000:+3.03,43000:+5.66,49000:+8.29,55000:+10.91,62000:+13.94,68000:+16.57,74000:+19.19,81000:+22.22,87000:+24.85,93000:+27.48,100000:+30.51,106000:+33.14,112000:+35.76,118000:+38.39,125000:+41.42,131000:+44.05,137000:+46.67,144000:+49.70,150000:+52.33
D coverage_e 100000=100000:+0.00,300000:+2.62,500000:+4.45,1000000:+8.55
B farmers|422.06|427.88|5.82
present: Lead with the best option for this user — its price and a one-line reason — then a comparison sorted cheapest-first (Carrier · Monthly · 6-month total; a markdown table when your surface renders it) and the annual dollar spread between cheapest and priciest — that spread is the reason to compare. A B row's per-line prices assume every bundled line is placed with that carrier; for a cross-carrier mix, compare standalone totals. These are Foresee's estimates of what each carrier will charge; the assumptions and tighten_by blocks say how they were made and how to sharpen them. Foresee never takes payment: when the user settles on a carrier (or asks to buy), give that carrier's carrier_quote_url as a clickable link — the purchase completes on the carrier's own quoting portal.

Tool 2: live_carrier_quotes

Zweck: Angebotsschätzungen auf den eigenen Angebotsseiten der Versicherer bestätigen.

Dieses Tool ist idempotent: Der erste Aufruf beauftragt die Computer-Use-Agenten; ein erneuter Aufruf mit denselben Argumenten sammelt Fortschritt und Ergebnisse vom ersten Aufruf.

Ein Live-Versand übermittelt die echten Daten des Nutzers an die Versicherer, die möglicherweise eine Soft-Credit-Prüfung durchführen. Die Zustimmung des Nutzers wird eingeholt, bevor das Tool aufgerufen wird.

Foresee sammelt nur Angebote; es nimmt keine Zahlungen entgegen und bindet keine Versicherungen.

Eingabeparameter

ParameterTypErforderlichDetails
profileObjektjaGleiche Felder wie quote_insurance – die Tariffakten
linesObjektjaEin Schlüssel pro zu durchlaufender Sparte, jeder Wert die Anfrage dieser Sparte (siehe unten); mehrere Schlüssel beauftragen gebündelte Durchläufe
user_authorizationstringjaDie Bestätigung des Nutzers im Chat, wörtlich (z. B. yes, go ahead)
identityObjektin der RegelDie Daten des Nutzers.
carriersstring[]neinDen Fächer einschränken; standardmäßig jeder Versicherer mit einem validierten Durchlauf für die Sparten + Bundesstaat

lines

ZeileAskWarum
autoerforderlich — dieselben vier Achsen wie quote_insurance (bi, pd, coll_deductible, comp_deductible), als tatsächliche ZahlenDie Limits und Selbstbehalte, die die Agenten in den Formularen der Versicherer eintragen
homekeine — {"home": null}Das eigene Formular des Versicherers bepreist sein Paket (Wohnungsbetrag aus dessen Wiederbeschaffungskostenschätzung); die Agenten berichten, was es gewählt hat. Ein mitgelieferter Ask wird laut abgelehnt, nicht stillschweigend ignoriert
renterserforderlich — coverage_c, coverage_e, coverage_f, deductible, als tatsächliche Dollar-BeträgeDie Agenten tippen die Zahlen des Nutzers in das Formular, statt dessen Standardwerte zu übernehmen; Foresee erfindet sie nie

Mehrere Schlüssel gleichzeitig beauftragen gebündelte Walks: Jeder Versicherer, der alle genannten Sparten schreibt, wird durch seinen eigenen Multi-Line-Angebotsfluss geführt und meldet Prämien pro Sparte plus seinen eigenen Bündel-Gesamtbetrag; ein Versicherer, der nur einige der Sparten schreibt, wird nur für diese durchlaufen. Die Ask-Regeln pro Sparte bleiben durch die Bündelung unverändert.

identity

FeldTypErforderlichDetails
first_namestringjaGesetzlicher Vorname
last_namestringjaGesetzlicher Nachname
dobstring, YYYY-MM-DDja
streetstringjaStraße und Hausnummer (Zeile 1)
unitstringneinWohnung/Einheit (Zeile 2)
citystringja
zip_codestringneinNur, wenn sie von der im Profil abweicht
emailstringjaVersicherer senden das Angebot hierher
phonestringnein

Antwort

FeldBedeutung
statusin_progress / partial / complete — erneut mit denselben Argumenten aufrufen, um abzuholen
agentsEin Eintrag pro Versicherer (siehe unten)
noteWas als Nächstes zu tun ist, z. B. Zeitpunkt des erneuten Aufrufs, oder dass Ergebnisse eines früheren Laufs zurückgegeben wurden
authorization_recordedAuf der Quittung: Der Einwilligungsdatensatz wurde gespeichert, bevor ein Versicherer das Risiko sah
skippedNICHT beauftragte Versicherer, jeweils mit dem Grund (no_deterministic_walk, missing_facts mit den genannten Fakten)
not_dispatchedMotorisch bepreiste Versicherer, die dieser Dispatch nicht durchläuft, mit Begründung (held: …, no_walk, not_walked, offline, not_sold) — eine Empfehlung, die die Walk-Spur nicht bestätigen kann, verschwindet nie stillschweigend
needsBei einer missing_facts-Ablehnung: Fakten pro Versicherer, die vom Nutzer zu sammeln sind, mit exakten Schema-Pfaden — und, für Felder mit geschlossenem Vokabular, die akzeptierten values
assumptionsNicht bestätigte Nebenformular-Fakten, die die Walks zu erklärten Kein-Anspruch-Antworten aufgelöst haben: der Profilpfad (field) und der übermittelte Wert (assumed) — jeden zusammen mit den Ergebnissen weiterleiten
confirmationPro Versicherer: die sofortige Motor-Schätzung neben der auf der Seite gedruckten Prämie — die Bündel-Schätzung, wenn mehrere Sparten durchlaufen wurden
error / detailJede Ablehnung ist ein strukturiertes {"error", "detail"}-Dict

Jeder agents-Eintrag:

FeldWannBedeutung
carrier_key, carrierimmerRoster-Schlüssel + Anzeigename
statusimmerin_progress / complete / failed
linesimmerDie Sparten, die dieser Walk abdeckt — mehrere bei einem gebündelten Walk
stage, eta_seconds_remainingin BearbeitungWo der Walk steht; verbleibende Zeit gegenüber dem typischen Ablauf des Versicherers
quote.premiumzitiertWortwörtlich, wie die Seite des Versicherers es gedruckt hat ("$857.80") — nie geparst, gerundet oder abgeleitet
quote.term_monthszitiertDer Zeitraum, den die gedruckte Prämie abdeckt
quote.premium_by_linezitiert, gebündelter WalkDie Prämie jeder Sparte, wie die Seite sie gedruckt hat, neben dem Bündel-Gesamtbetrag in quote.premium
quote.breakdownzitiertDie eigenen Positionszeilen der Seite, ihre eigenen Bezeichnungen
quote.boundzitiert, neuere WalksDeckung, die von der bepreisten Seite abgelesen wurde — was das Formular tatsächlich gebunden hat, im Vergleich zu dem, was gefragt war
quote.variantszitiertZusätzliche bepreiste Pakete, die die Seite angeboten hat
quote.quote_numberzitiertDie Abrufnummer des Versicherers, wenn die Seite eine zeigt
quote.evidence_recordedzitiertScreenshot-Beweise existieren serverseitig (interne URIs reisen nie über die Leitung)
declined: true + detailabgelehntDer Versicherer hat die Details geprüft und sich geweigert, ein Angebot zu erstellen. Eine Antwort, kein Fehler — leiten Sie sie weiter
detailfehlgeschlagenDie eigenen Worte des Walks dafür, wo und warum er gestoppt hat

Ablehnungen

Jede Ablehnung ist ein strukturiertes {"error", "detail"}-Objekt — nichts wurde an einen Versicherer übermittelt, außer die Zeile unten sagt etwas anderes.

CodeWannWas zu tun ist
profile_requiredHaushaltsfakten auf oberster Ebene gesendet, ohne profile-WrapperErneut aufrufen, mit den Fakten, die wie im example_arguments der Ablehnung gezeigt umschlossen sind
authorization_requiredOhne die Zustimmung des Nutzers aufgerufenDie Einwilligungsfakten erklären, ein Ja erhalten, es wörtlich in user_authorization übergeben
bad_identityEin drivers_license_number, das wie eine SSN geformt istSSNs werden nie erfasst; die Führerscheinnummer senden, wie sie auf dem Führerschein gedruckt ist
bad_profileEin Profilfeld besteht die Validierung nichtdetail benennt das Feld
one_line_per_dispatchEine leere lines-MapMindestens eine Sparte zum Durchlaufen benennen
unknown_lineEine Sparte ohne Walk (z. B. umbrella)detail listet die Sparten, die der Live-Dispatch kennt
coverage_selection_requiredEin Auto- oder Mieterschutz-Walk ohne vollständige Limits und SelbstbehalteErneut mit den Zahlen aufrufen — die Walks tippen echte Werte, nie Standardwerte
bad_askEin Haus-Walk mit einem Deckungs-Ask{"home": null} senden — das eigene Formular des Versicherers bepreist sein Paket
missing_factsKein Formular des angeforderten Versicherers kann aus dem Profil gefüllt werdenDen Nutzer nach den needs[].fields[]-Fakten fragen (mit deren values, wo bereitgestellt) und erneut aufrufen — siehe unten
no_carriersKein Versicherer hat einen validierten Walk für diese Sparte + diesen StaatAuf quote_insurance zurückfallen
launch_failedDie Agenten konnten nicht startenNichts hat einen Versicherer erreicht — ein erneuter Versuch ist sicher

Beispiel: Auto

Ein Haushalt in Fresno bestätigt GEICOs eigene Zahl. Das Profil trägt die Fakten, auf denen GEICOs Formular besteht (Eigentum, Kaufzeitpunkt, Vorversicherung, Alter bei Erstlizenzierung …); identity ist der tatsächliche Antragsteller; der Ask sind dieselben vier Achsen wie quote_insurance.

{
  "profile": {
    "zip_code": "93722",
    "dob": "1954-07-02",
    "gender": "Male",
    "marital_status": "Married",
    "education": "Bachelors",
    "employment_status": "Employed",
    "occupation": "Accountant or CPA",
    "home_ownership_status": "Own",
    "prior_insurance": {"insured": true, "limits": "not sure"},
    "auto": {
      "vehicles": [{
        "year": 2024, "make": "Ford", "model": "Maverick",
        "ownership": "Financed", "annual_mileage": 11000,
        "primary_use": "pleasure", "purchase_date": "2026-08"
      }],
      "drivers": [{
        "relation": "self", "age_first_licensed": 16,
        "years_licensed_outside_us": 0, "defensive_driving_course": true,
        "accidents": [], "violations": []
      }]
    }
  },
  "identity": {
    "first_name": "Cornelius", "last_name": "Beaumont", "dob": "1954-07-02",
    "street": "4381 W Spruce Ave", "city": "Fresno", "zip_code": "93722",
    "email": "cornelius.beaumont@example.com", "phone": "559-555-0164"
  },
  "lines": {"auto": {"bi": "100/300", "pd": 100, "coll_deductible": 500, "comp_deductible": 500}},
  "carriers": ["geico"],
  "user_authorization": "yes, go ahead and get me GEICO's real quote"
}
{
  "status": "in_progress",
  "authorization_recorded": true,
  "agents": [
    {
      "carrier_key": "geico",
      "carrier": "GEICO",
      "method": "browser_agent",
      "detail": "deterministic Foresee agent completing the carrier's own quote flow with the user's details",
      "eta_seconds": 480
    }
  ],
  "skipped": [],
  "note": "1 carrier(s) are being quoted live. Collect results by calling this tool again with the same arguments after a few minutes."
}

Ein erneuter Aufruf mit denselben Argumenten holt später den fertigen Walk ab. Die Prämie ist der eigene String der Seite; breakdown sind die eigenen Bezeichnungen der Seite (GEICO hat zwei Pakete nebeneinander gedruckt); term_months sagt, was die Zahl abdeckt — 857,80 $ pro 6 Monaten, nicht pro Monat.

{
  "status": "complete",
  "agents": [
    {
      "carrier_key": "geico",
      "carrier": "GEICO",
      "method": "browser_agent",
      "status": "complete",
      "quote": {
        "premium": "$857.80",
        "currency": "USD",
        "term_months": 6,
        "quote_number": null,
        "breakdown": {
          "Less Coverage": "$857.80",
          "More Coverage": "$870.70"
        },
        "evidence_recorded": true
      }
    }
  ]
}