Skip to main content
Glama

Coverage Cat

Server Details

Insurance calculators and umbrella/homeowners shopping, purchase status, policies, and support.

Ownership verified
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 23 tools

Disambiguation4/5

Most tools have a clearly distinct resource+action target: the umbrella consumer lifecycle (prefill, select, attach, payment, bind, policy, service) is cleanly sequenced, and the docs trio is unambiguous. The weakest spot is the auto/premium cluster (auto_estimates, collision_and_comprehensive_coverage, file_a_claim) plus four umbrella analysis tools (calculator, limit_planner, underlying_limit_check, bundle_comparison), where an agent must read the long descriptions to avoid choosing the wrong estimator. Descriptions do explicitly separate research-only umbrella_calculator from umbrella_consumer_prefill, which keeps the overlap manageable.

Naming Consistency3/5

All snake_case, which is good, but the pattern mixes conventions: some are noun-first (auto_estimates, home_calculator, docs_search), others verb-first (file_a_claim, docs_get_resource), and within umbrella_consumer_* the suffixes are verbs (prefill, select, bind, attach) except for the noun 'payment' and the ambiguous 'policy'/'service'. Domain prefixes (umbrella_, homeowners_, consumer_, docs_) give readable grouping, but the noun/verb inconsistency means an agent cannot predict a name from an action.

Tool Count3/5

23 tools is on the heavy side of the rubric's reasonable band, and the set is large mostly because the umbrella flow is decomposed into seven narrow stage tools plus four separate umbrella modeling tools. Each stage tool earns some place (the flow is genuinely stateful), but the modeling tools overlap enough that the surface feels broader than the domain strictly requires.

Completeness4/5

The umbrella lifecycle is covered end to end (prefill → intake issues/patch/verify → select → attach → payment → bind → policy → service), and docs plus estimation tools round out research. The gaps are on the non-umbrella side: auto and home have estimators and (for home) policy/service reads, but no create/shop/bind path and no auto policy read, so those domains dead-end at research or post-bind support.

Available Tools

23 tools
auto_estimatesAuto insurance estimatesA
Read-onlyIdempotent
Inspect

Estimate monthly auto premiums for one driver and vehicle profile across several carriers. Returns each carrier's id, name, and monthly premium spread (lowest, lower, median, upper, and highest modeled premium) in US dollars, plus the normalized inputs the model used. These are model estimates for research, not bindable quotes.

NameRequiredDescriptionDefault
ageYesAge in years of the driver being priced; the model converts it to a birth year.
zipYesZIP code for the driver or garaging location being priced.
makeNoVehicle manufacturer, such as `Toyota` or `Honda`.
seedNoOptional deterministic seed for the estimate sample when a caller wants stable repeat runs.
yearNoVehicle model year. With make and model it prices a specific car; omit it to price a generic vehicle instead.
modelNoVehicle model, such as `Camry` or `Civic`.
stateYesTwo-letter state code for the garaging address or rating state.
styleNoVehicle trim, body style, or submodel when you want to narrow the vehicle match.
genderYesDriver gender code the pricing model rates on: `M` for male, `F` for female, or `N` when not specified.
collision_deductibleNoDollars the driver pays toward a collision repair before collision coverage pays the rest. Omitted means $1,000.
comprehensive_deductibleNoDollars the driver pays toward non-collision damage, such as theft, hail, or vandalism, before comprehensive coverage pays the rest. Omitted means $1,000.

Output Schema

NameRequiredDescription
inputsYesDriver, vehicle, and deductible values the model used, with defaults filled in for omitted inputs.
carriersYesOne estimate per carrier the model could price.
disclaimerYesNotice that these figures are informational estimates, not binding quotes; relay it with the numbers.
estimate_unitYesUnit of the monthly premium spreads: `monthly_premium_usd`.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds meaningful context beyond them: the returned fields (carrier id, name, five-point premium spread in USD, normalized inputs) and the critical caveat that results are model estimates, not bindable quotes. Rate limits, auth needs, and latency are not covered but are less relevant for a safe read-only estimator.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences: purpose first, return shape second, research-only caveat third. Every sentence carries distinct information and nothing is repeated from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 11 parameters, an output schema, and fully covering annotations, the description supplies the remaining decision-relevant facts: what the estimate covers, what comes back, and that it is not a bindable quote. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (including seed, deductibles, and vehicle fields) is already documented by the schema. The description adds no parameter-level detail beyond the schema, which is the correct baseline-3 case when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Estimate monthly auto premiums for one driver and vehicle profile across several carriers'), including scope (single profile, multiple carriers). This clearly separates it from sibling calculators like home_calculator and umbrella_calculator without needing to inspect schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Frames the tool as research-grade modeling ('model estimates for research, not bindable quotes'), which implicitly routes binding actions to siblings like homeowners_consumer_bind. However, it never explicitly names an alternative tool or states when-not-to-use conditions, so usage is clear but not fully enumerated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

collision_and_comprehensive_coverageCollision and comprehensive coverage calculatorA
Read-onlyIdempotent
Inspect

Estimate what collision and comprehensive coverage cost for one driver and vehicle profile, to help decide whether to carry them. Returns monthly premium spreads in US dollars with no physical-damage coverage, collision only, and both, plus collision-only and both after one claim, and cumulative premium projections for each coverage option over projection_years. These are model estimates, not bindable quotes.

NameRequiredDescriptionDefault
ageYesAge in years of the driver being priced; the model converts it to a birth year.
zipYesZIP code for the driver or garaging location being priced.
makeNoVehicle manufacturer, such as `Toyota` or `Honda`.
seedNoOptional deterministic seed for the estimate sample when a caller wants stable repeat runs.
yearNoVehicle model year. With make and model it prices a specific car; omit it to price a generic vehicle instead.
modelNoVehicle model, such as `Camry` or `Civic`.
stateYesTwo-letter state code for the garaging address or rating state.
styleNoVehicle trim, body style, or submodel when you want to narrow the vehicle match.
genderYesDriver gender code the pricing model rates on: `M` for male, `F` for female, or `N` when not specified.
collision_deductibleNoDollars the driver pays toward a collision repair before collision coverage pays the rest. Omitted means $1,000.
comprehensive_deductibleNoDollars the driver pays toward non-collision damage, such as theft, hail, or vandalism, before comprehensive coverage pays the rest. Omitted means $1,000.

Output Schema

NameRequiredDescription
inputsYesDriver, vehicle, and deductible values the model used, with defaults filled in for omitted inputs.
disclaimerYesNotice that these figures are informational estimates, not binding quotes; relay it with the numbers.
estimate_unitYesUnit of the monthly premium spreads: `monthly_premium_usd`.
projection_yearsYesNumber of years the cumulative projections cover.
monthly_estimatesYesMonthly premium spread for each coverage scenario.
cumulative_annual_scenariosYesRunning premium totals for the without, collision-only, and both coverage options.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior. The description adds real value beyond that by enumerating the returned scenarios (no coverage, collision only, both, after-claim variants) and warning that these are model estimates, not bindable quotes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose then outputs then the estimate caveat. Dense but nearly every clause earns its place; the long enumeration of return scenarios is the only slightly heavy part.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, return values need not be explained, yet the description usefully summarizes them and flags the non-bindable nature of the estimates. Coverage is solid for a read-only calculator; only sibling differentiation is thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 11 inputs, establishing a baseline of 3. The description references projection_years, a field not present in the input schema, but adds no syntax or default detail for the documented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (estimate collision/comprehensive cost) and scopes it to one driver and vehicle profile, which is precise. It does not differentiate itself from the sibling auto_estimates tool, leaving some ambiguity about which estimator to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Frames the decision context clearly ('to help decide whether to carry them'), which tells the agent when this tool is appropriate. It offers no explicit exclusions or named alternatives, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consumer_intake_issuesGet consumer intake statusAInspect

Read the status of an umbrella application or an existing homeowners policy. Records request attribution and rotates follow-up access. In the umbrella sandbox, polling advances checkout and can create a synthetic policy; it does not issue real coverage. Returns the intake's status and detail_status, whether the application is submitted, the staged review and next_question, quoted offers with their selection_token, and any post-choose, payment, policy, or conversation state. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the default consumer-operated subset and, before submission, say explicitly that the application is not submitted yet. For umbrella, keep missing fields hidden until Coverage Cat stages the single pre-submit review turn, then ask only for the explicitly missing shopper-owned fields in next_question and invite corrections instead of re-keying reviewed values. Coverage Cat will not resume or expose a prior consumer umbrella draft based on email alone. Continue an existing consumer draft only through the issued uid plus the current hidden MCP session or latest intake_access_token handoff. Normalize shopper birthdays from MM-DD-YYYY to YYYY-MM-DD before you patch Coverage Cat.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial behavior beyond the annotations: it discloses that the call records request attribution and rotates follow-up access, that in the umbrella sandbox polling advances checkout and can create a synthetic policy without issuing real coverage, and that email alone cannot resume a prior draft. This directly explains why readOnlyHint=false and idempotentHint=false despite the read-like framing — exactly the kind of context annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The lead sentence is well front-loaded, but the body is a dense run-on mixing return-field enumeration, auth handoff rules, agent behavior scripts ('say explicitly that the application is not submitted yet'), and birthday normalization. Several clauses (birthday format normalization, a long list of returned state keys) do not belong in a status-read description and dilute the actionable parts.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, yet the description still spends a long clause enumerating return fields (detail_status, next_question, selection_token, etc.), which is redundant. Auth, sandbox, and draft-resumption edge cases are otherwise well covered for a stateful handoff tool, so an agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are fully documented in the schema, so baseline is 3. The description adds real meaning on top: it explains that the token rotates per response and must be the LATEST one from the previous successful response, and that uid must be carried across every call on the same application — operational semantics the schema states only tersely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource: 'Read the status of an umbrella application or an existing homeowners policy,' and the follow-up framing ('reuse uid and the latest intake_access_token... on each follow-up') makes clear this is the status-poll endpoint rather than a patch/verify step. It does not name a sibling tool explicitly, so an agent must infer that consumer_intake_patch and consumer_intake_verify_email are the alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete operating conditions: reuse uid plus the latest token on every follow-up, stay on this same follow-up tool, stay on the default consumer-operated subset, and hold missing umbrella fields until the pre-submit review turn. The gaps are that it never states when NOT to call it (e.g. when to call consumer_intake_patch or umbrella_consumer_prefill instead) and the guidance is interleaved with return-field detail rather than organized.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consumer_intake_patchUpdate consumer intakeA
DestructiveIdempotent
Inspect

Patch or submit a consumer-prefill umbrella handoff, or reply to existing-policy support correspondence in chat. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the default consumer-operated subset. For umbrella, use the staged review turn to send only explicitly missing shopper-owned details plus corrections, set confirm_submission only on that final review confirmation, do not send vehicles rows on this pre-submit patch, and do not ask for umbrella credit consent here. Normalize shopper birthdays from MM-DD-YYYY to YYYY-MM-DD, and tell the shopper the application is not submitted yet until you actually submit it. Returns the same follow-up payload as consumer_intake_issues for the updated intake.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intakeNoTop-level intake edits. For umbrella, send only missing shopper-owned details, corrections, or canonical umbrella count fixes such as umbrella_details.motorized_vehicle_count. Do not send vehicles rows on this pre-submit patch.
message_replyNoExisting-policy support correspondence. Send the reply text Coverage Cat should deliver in-thread when consumer_intake_issues surfaces a message under conversation.messages. This does not start a new homeowners application.
credit_consentNoThe real user's response to Coverage Cat's current consumer-report authorization for insurance underwriting, collected only after Coverage Cat returns the disclosure.
field_estimatesNoUmbrella provenance for values in this same patch that you inferred rather than heard from the shopper, one row per inferred value. Add rows only when you are certain each field path matches a current umbrella review field.
idempotency_keyNoKey you generate to identify one logical consumer_intake_patch request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
confirm_submissionNoSet true only on the single final review turn.
contact_preferencesNoOptional service SMS/call choices. Offer alongside an existing review when useful; do not add a required purchase step. Omission leaves choices unchanged. Marketing is disabled.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.
reply_to_message_idNoExisting-policy support message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, but the description adds real operational context: the stateless MCP 2026-07-28 token requirement, legacy hidden-session auth, and that it returns the same follow-up payload as `consumer_intake_issues`. It stops short of explaining what submission actually commits or whether a confirmed submission is reversible, which matters for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then progressively narrower operational rules, and nearly every clause carries a prohibition or precondition. It is long and reads as a dense imperative run-on covering several modes at once, with some redundancy against the schema (token privacy is stated twice), costing it the top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, nested, destructive, multi-mode tool it covers the hard parts: auth/statefulness, retry safety, staged review sequencing, what not to send pre-submit, and shopper-facing honesty about submission status. An output schema exists and the description routes the agent to the analogous sibling payload, so return values need no further explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so the schema carries the parameter burden and the baseline is 3. The description does add scoping meaning the schema lacks in one place — the staged-review rule that only explicitly missing shopper-owned details and corrections belong in the patch, plus the birthday format conversion — but most of its parameter talk (token, `confirm_submission`) restates schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names three distinct operations with specific verbs and resources: patching/submitting a consumer-prefill umbrella handoff, and replying to existing-policy support correspondence. It is clearly separable from siblings like `umbrella_consumer_prefill` (origination) and `consumer_intake_issues` (issue surfacing), and it states this is the follow-up tool to stay on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing and sequencing rules: reuse uid plus the latest `intake_access_token` from the previous successful response, stay on this same follow-up tool, stay on the default consumer-operated subset, set `confirm_submission` only on the final review confirmation, and do not ask for umbrella credit consent here. It also names exclusions (no vehicles rows on this pre-submit patch) and a normalization rule (MM-DD-YYYY to YYYY-MM-DD).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consumer_intake_verify_emailSend shopper email verificationA
DestructiveIdempotent
Inspect

When consumer_intake_issues reports verification.required, ask the shopper whether to send a verification email, then call with confirm_send: true. The link goes only to the application's email on file. Ask the shopper to open it, then poll consumer_intake_issues until verification.required is false. Never ask the shopper to paste the login link or code into chat.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
confirm_sendYesConfirm that the shopper asked to send a verification link to their application's email on file.
idempotency_keyNoKey you generate to identify one logical consumer_intake_verify_email request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare mutation, irreversibility, and idempotency, so the description focuses on what annotations can't convey: the link only goes to the email on file and the shopper must never paste the link or code into chat. That is genuine security and eligibility context. It stops short of describing what the tool returns or failure modes (e.g. expired intake), which would push this to a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four compact sentences in execution order: trigger, ask, call, poll, plus a guardrail. Front-loaded and free of restated metadata such as parameter types or return shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations cover the safety profile. The description supplies the remaining pieces an agent needs — trigger condition, consent step, follow-up polling, and privacy rule — which is everything required to call this correctly within a multi-step intake flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the property descriptions already explain uid reuse, the confirm_send consent meaning, and idempotency-key retry semantics. The description reinforces the consent ordering behind confirm_send but adds no new syntax, format, or validation detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — send a verification email to the shopper's email on file — and pins the trigger condition (`consumer_intake_issues` reports verification.required). It explicitly names the sibling it coordinates with, so the agent can separate this from consumer_intake_issues and consumer_intake_patch without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition (verification.required from consumer_intake_issues), an intermediate step (ask the shopper first), a hard invocation constraint (confirm_send: true), and a follow-up loop (poll consumer_intake_issues until the flag clears). When-to-use, when-not-to-call-yet, and what to do afterward are all covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_get_resourceCoverage Cat docs resource readerA
Read-onlyIdempotent
Inspect

Read one Coverage Cat docs resource by URI from the default consumer MCP and return its URI, public href (null when it has no public page), MIME type, and full markdown, JSON, or YAML text.

NameRequiredDescriptionDefault
uriYesA coveragecat:// or ui:// resource URI from docs_list_topics or docs_search.

Output Schema

NameRequiredDescription
uriYesThe resource URI that was read.
hrefYesPublic web URL for the same content, or null when the resource has no public page.
textYesThe full resource body in mime_type format.
mime_typeYesFormat of text, such as `text/markdown`, `application/json`, or `text/yaml`.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so safety behavior is fully covered. The description adds useful context that href may be null and that content is returned in markdown/JSON/YAML, but does not discuss permissions, limits, or failure behavior beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler; the action is stated first and the returned fields follow. Slightly dense but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with full annotation coverage and an output schema, the description is nearly sufficient. The remaining minor gap is the absence of guidance on what to do when a URI is unknown or invalid, which the output schema does not cover.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter and the schema already documents the accepted 'coveragecat://' and 'ui://' URI forms and their origin. The description adds only 'by URI' and does not extend meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read one Coverage Cat docs resource by URI') plus the source ('default consumer MCP'), which is clear. The singular 'one ... by URI' implicitly distinguishes it from docs_list_topics and docs_search, but it never names them, so differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (fetch a single resource once you have its URI), and the schema reinforces this by saying the URI comes from docs_list_topics or docs_search. However, there is no explicit when-to-use vs. sibling statement or precondition in the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_list_topicsCoverage Cat docs topic indexB
Read-onlyIdempotent
Inspect

List Coverage Cat documentation topics from the same consumer MCP connection and return each topic's title, category, URI, MIME type, summary, and public href.

NameRequiredDescriptionDefault
limitNoHow many topics to return from the start of the filtered catalog. Omit it to get up to 25.
categoryNoDocs category to browse: `developers` for guides such as quickstart, auth, sandbox, and MCP setup, `api` for discovery and OpenAPI documents, `skills` for runtime skill guides, or `all`. Omit it to browse every category.

Output Schema

NameRequiredDescription
totalYesNumber of topics in this response after limit, not the size of the whole catalog.
topicsYesTopics in catalog order.
categoryYesCategory filter that was applied.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds one useful non-annotation fact — that topics come from the same consumer MCP connection — but says nothing about pagination/ordering beyond the schema and merely restates output fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with the verb and resource, with zero filler. Everything stated is either the action or its scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a low-complexity, zero-required-parameter read tool, full annotation coverage, and an output schema that already defines the return shape, the description is close to sufficient. The only missing element is routing guidance among the doc-related siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: limit and category are fully documented in the schema, including the enum meanings and behavior when omitted. The description adds no parameter-level information beyond what the schema already provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb (List) and resource (Coverage Cat documentation topics) plus the fields returned, so the operation is unambiguous. It does not, however, distinguish itself from siblings docs_search and docs_get_resource, which are the obvious alternatives an agent would weigh.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this index versus docs_search or docs_get_resource, and no prerequisites. The only usage signal is the category enum in the schema, which implies browsing but is not framed as guidance relative to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

file_a_claimAuto claim filing break-even calculatorA
Read-onlyIdempotent
Inspect

Estimate whether filing an auto collision claim costs more than paying for the repair yourself. Returns monthly premium spreads with and without one claim, the monthly and multi-year premium increase, the collision deductible, the total cost of filing (deductible plus premium increase), and a file_claim or pay_out_of_pocket recommendation with the estimated savings. These are model estimates, not carrier quotes.

NameRequiredDescriptionDefault
ageYesAge in years of the driver being priced; the model converts it to a birth year.
zipYesZIP code for the driver or garaging location being priced.
makeNoVehicle manufacturer, such as `Toyota` or `Honda`.
seedNoOptional deterministic seed for the estimate sample when a caller wants stable repeat runs.
yearNoVehicle model year. With make and model it prices a specific car; omit it to price a generic vehicle instead.
modelNoVehicle model, such as `Camry` or `Civic`.
stateYesTwo-letter state code for the garaging address or rating state.
styleNoVehicle trim, body style, or submodel when you want to narrow the vehicle match.
genderYesDriver gender code the pricing model rates on: `M` for male, `F` for female, or `N` when not specified.
repair_estimateYesApproximate dollar amount you expect to pay to repair the vehicle if you do not file a claim.
collision_deductibleNoDollars the driver pays toward a collision repair before collision coverage pays the rest. Omitted means $1,000.
comprehensive_deductibleNoDollars the driver pays toward non-collision damage, such as theft, hail, or vandalism, before comprehensive coverage pays the rest. Omitted means $1,000.

Output Schema

NameRequiredDescription
inputsYesDriver, vehicle, and deductible values the model used, with defaults filled in for omitted inputs.
deductibleYesCollision deductible paid when filing.
disclaimerYesNotice that these figures are informational estimates, not binding quotes; relay it with the numbers.
claim_monthlyYesMonthly premium spread after filing one claim. Whole US dollars per month.
estimate_unitYesCurrency of every dollar figure: `usd`.
recommendationNoWhether filing or paying out of pocket costs less; null when no repair estimate was read.
repair_estimateYesThe repair estimate you sent.
monthly_increaseYesMedian monthly premium increase after the claim.
no_claim_monthlyYesMonthly premium spread with no claim on record. Whole US dollars per month.
premium_increaseYesTotal extra premium over premium_impact_years.
total_claim_costYesTotal cost of filing: deductible plus premium_increase.
premium_impact_yearsYesYears the higher premium is assumed to last.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds a meaningful accuracy caveat ('model estimates, not carrier quotes') that tells the agent how much to trust the output. It stops short of describing determinism (the seed param) or the sampling behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the decision question, followed by a compact enumeration of returns and the estimate caveat. The return-value listing is somewhat verbose given an output schema exists, but nothing is wasted or confusing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only calculation tool with full annotation coverage and a present output schema, the description covers purpose, returns, and an accuracy disclaimer. The main gap is the absence of routing guidance to sibling estimation tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all 12 parameters are already documented in the schema. The description only alludes to the collision deductible and offers no additional parameter semantics beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and decision ('Estimate whether filing an auto collision claim costs more than paying for the repair yourself'), clearly distinguishing this break-even calculator from the generic auto_estimates sibling, though it does not name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose implies when to use it (a claim-vs-pay decision), but there is no explicit when-to-use guidance or reference to alternatives such as auto_estimates or collision_and_comprehensive_coverage. Usage is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

home_calculatorHome insurance calculatorA
Read-onlyIdempotent
Inspect

Estimate annual and monthly home insurance ranges for a California property and return the normalized inputs, available risk-factor ids, and ZIP-level context notes that explain the estimate.

NameRequiredDescriptionDefault
zipYesZIP code for the California property being estimated.
home_sqftYesApproximate finished living area of the home in square feet.
risk_factorsNoOptional Coverage Cat risk-factor ids, such as `pool` or `old_systems`, for property traits that can change premium.

Output Schema

NameRequiredDescription
inputsYesThe ZIP, square footage, and risk-factor ids the estimate used.
estimateYesPremium range for the home, in US dollars.
zip_factsYesContext notes that explain the ZIP's premium tier.
disclaimerYesNotice that these figures are informational estimates, not binding quotes; relay it with the numbers.
estimate_unitYesCurrency of every estimate figure: `usd`.
available_risk_factorsYesEvery risk factor you can pass in risk_factors, whether or not it was applied.

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description goes beyond that by disclosing what is returned: normalized inputs, available risk-factor ids, and ZIP-level context notes — helpful behavioral detail about the estimate's provenance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the core purpose and then appends the return-value detail; nothing is redundant. It is slightly dense with three output clauses, but each clause carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the safety profile and an output schema existing, the description does not need to enumerate return fields. It adequately conveys scope, required inputs, and the nature of the result for a read-only three-parameter estimator; only sibling routing is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents zip, home_sqft, and risk_factors, making a 3 the baseline. The description's mention of 'normalized inputs' and 'available risk-factor ids' loosely maps to the risk_factors parameter but adds no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Estimate') and resource ('annual and monthly home insurance ranges') with an explicit geographic scope ('California property'), and it names the outputs produced. It does not explicitly differentiate itself from the sibling umbrella_calculator, but the resource noun makes the domain distinction legible.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement, no prerequisite conditions, and no routing to or away from alternatives such as umbrella_calculator or homeowners_consumer_prefill. The California-property scope is the only contextual hint, so usage must be inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

homeowners_consumer_policyGet homeowners policyAInspect

Read the current bound or cancelled homeowners policy record, policy documents, and any existing cancellation, refund, or support request history. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. This request records access attribution and rotates follow-up access, but does not advance or change policy state. Use it after Coverage Cat reports a policy on file, or after a service request is opened, to show policy facts without switching to delegated tools.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description earns credit for explaining the otherwise puzzling readOnlyHint=false: the call "records access attribution and rotates follow-up access, but does not advance or change policy state." It also discloses statelessness under MCP 2026-07-28, token privacy requirements, and legacy host session behavior. It stops short of saying how token rotation affects a stale/expired token or what happens when no policy is on file.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence front-loads what the tool returns, and the operational constraints follow in a logical order. Some redundancy exists between "stay on this same MCP follow-up tool" and "without switching to delegated tools," and the legacy-host sentence is marginally tangential, but nearly every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return-value detail is correctly omitted, and the description covers auth, statelessness, side effects, and placement in the workflow. What remains missing is error/edge behavior — e.g., what happens if no policy is on file yet or if the token is no longer the latest one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already documented in the input schema, which sets the baseline at 3. The description does add a usage rule beyond the schema — reuse the latest token from the previous successful response on every follow-up — but it largely restates the schema wording about uid and token privacy rather than adding new format or failure semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a precise verb ("Read") and enumerates the exact resources returned: the bound or cancelled homeowners policy record, policy documents, and cancellation/refund/support request history. It is clearly distinct from umbrella-oriented siblings by naming homeowners policy scope, but it never names the parallel umbrella_consumer_policy or homeowners_consumer_service tools, so the differentiation is implied rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states explicit triggers — "after Coverage Cat reports a policy on file, or after a service request is opened" — and an explicit boundary: show policy facts "without switching to delegated tools" and "stay on this same MCP follow-up tool." That is a when-to-use plus a when-not-to-use routing instruction, which is the full bar.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

homeowners_consumer_servicePreview or open homeowners service requestA
DestructiveIdempotent
Inspect

Preview or open a cancellation, refund, or support request for a consumer homeowners policy. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the same consumer-operated MCP subset after bind. Preview the consequences first, then send confirm_request: true only after the shopper approves opening the request. Do not describe a cancellation, refund, or support issue as completed until Coverage Cat confirms the final outcome.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the current shopper session.
reasonYesShort shopper-approved reason for the request.
detailsNoShopper-approved context beyond the short reason, such as the specifics of a billing dispute, recorded on the request and its preview.
request_typeYesWhat the shopper wants done after purchase. `policy_cancellation` asks the carrier to end the policy on requested_effective_date; `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage; `support_case` opens a general support case for anything else.
confirm_requestNoWhether to open the request now. false, the default, returns a preview of the consequences without opening anything; send true only after the shopper approves that preview.
idempotency_keyNoKey you generate to identify one logical homeowners_consumer_service request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.
requested_effective_dateNoDay the shopper wants a cancellation to take effect; used only for policy_cancellation. It is a request: the carrier reviews it and may set a different date.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds real context beyond them: the token is required for stateless MCP 2026-07-28 hosts, must be kept private and never shown to the shopper, and legacy hosts may carry hidden session authorization. It also explains the two-phase preview/confirm behavior that the destructive hint alone doesn't convey. Minor deduction for restating idempotency/retry ideas that the schema already documents in detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical ordering rule (preview, then confirm) and the token requirement are stated early, which is good front-loading. However, several sentences are redundant: "keep tokens private and stay on this same MCP follow-up tool" is echoed by "stay on the same consumer-operated MCP subset after bind," and the token privacy point is repeated from the schema. Tightening would improve it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full schema coverage across 8 parameters, the description focuses appropriately on workflow, consent, and token handling — the things structured fields can't express. It covers the risky path (confirm_request) and the host-compatibility caveat well; only the repeated clauses keep it from being fully tight.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries the meaning of every parameter, including request_type's enum semantics and confirm_request's preview-vs-open distinction. The description only reinforces the reuse of uid and intake_access_token rather than adding new parameter-level detail. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb pair ("preview or open") and a specific resource set ("cancellation, refund, or support request for a consumer homeowners policy"), which separates it from the umbrella_consumer_service and auto siblings. It stops short of naming a sibling outright, so an agent must infer the line vs. umbrella_consumer_service from the word "homeowners."

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states an explicit workflow: preview first, then send confirm_request: true only after shopper approval, and never describe the issue as completed until Coverage Cat confirms the outcome. It also says to stay on this same follow-up tool rather than drifting to another, which is exactly the kind of routing guidance an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_bundle_comparisonStandalone umbrella vs. bundle calculatorA
Read-onlyIdempotent
Inspect

Compare the total cost of keeping existing home and auto insurance with standalone umbrella coverage versus moving all three to a bundle. Enter annual net premiums, required underlying-limit upgrades, and one-time switching cost. Returns first-year and multi-year totals, savings, and the first whole break-even year. Flags unverified coverage comparability; no carrier prices are invented.

NameRequiredDescriptionDefault
yearsNoAssumes unchanged annual premiums across this period.
switching_costNoAdditional nonrefundable cost of moving to the bundle; exclude refunded or overlapping premiums. Whole US dollars.
coverage_comparableNoTrue only after comparing limits, deductibles, exclusions, insured risks, and claims terms.
auto_upgrade_premiumNoAdditional annual cost to meet standalone umbrella requirements. Whole US dollars.
bundled_auto_premiumYesAnnual replacement auto quote, after discounts, with required limits. Double a six-month premium; multiply a monthly premium by 12. Whole US dollars.
bundled_home_premiumYesAnnual replacement home quote, after discounts, with required limits. Whole US dollars.
current_auto_premiumYesAnnual premium for the auto policies you would keep. Double a six-month premium; multiply a monthly premium by 12. Whole US dollars.
current_home_premiumYesAnnual premium for the home, renters, or rental policies you would keep. Whole US dollars.
home_upgrade_premiumNoAdditional annual cost to meet standalone umbrella requirements. Whole US dollars.
bundled_umbrella_premiumYesAnnual bundled umbrella quote at the same limit. Whole US dollars.
standalone_umbrella_premiumYesAnnual standalone umbrella quote at the limit you want. Whole US dollars.

Output Schema

NameRequiredDescription
bundleYesCost of replacing home/auto/umbrella together, including one-time switching cost.
inputsYesNormalized caller inputs including defaults; unverified optional limits remain null.
sourcesYesPrimary background sources; premiums and required limits still come from the caller.
disclaimerYesLimits of this planning result and the need to verify policy terms and legal protections.
standaloneYesCost of keeping current home/auto policies with standalone umbrella and any required limit upgrades.
assumptionsYesAssumptions and exclusions needed to interpret the calculation.
estimate_unitYesCurrency for monetary inputs and outputs; year/count fields retain their named units.
comparison_statusYesWhether the caller confirmed comparable coverage terms; otherwise review coverage before relying on cost alone.
lower_cost_optionYesOption with the lower total cost over the selected period; this does not establish coverage equivalence.
methodology_versionYesVersion date of the calculator's arithmetic and assumptions.
bundle_break_even_yearYesFirst whole policy year when recurring bundle savings cover switching cost; null if there are no recurring savings.
total_savings_with_bundleYesStandalone total minus bundled total over the chosen years, including switching cost, in USD.
annual_savings_with_bundleYesStandalone annual cost minus bundled annual cost, in USD; negative means the bundle costs more.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered. The description adds real behavioral context beyond that: it flags that outputs include a break-even year, that unverified coverage comparability is surfaced rather than assumed, and that 'no carrier prices are invented' — i.e., it computes only from user-supplied quotes and never fabricates market data. That last point is the kind of trust signal annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose, inputs, outputs plus caveats. Front-loaded with the comparison framing, and no sentence is redundant — the final clause about not inventing carrier prices could easily have been omitted but earns its place as a trust qualifier.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out in detail, yet the description still names the headline outputs. With 11 parameters and only 6 required, the description's mention of entering premiums and upgrades tells the agent what to gather; annotations cover the safety profile. Nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the per-field semantics (annualize a six-month premium, whole US dollars, upgrade costs) are already fully documented. The description groups the inputs conceptually into net premiums, underlying-limit upgrades, and switching cost, which helps orient the agent but adds no format or edge-case detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb-plus-resource: 'Compare the total cost of keeping existing home and auto insurance with standalone umbrella coverage versus moving all three to a bundle.' It names both sides of the comparison and the deliverable (first-year/multi-year totals, savings, break-even year), which distinguishes it from umbrella_calculator and umbrella_limit_planner siblings that compute a single figure rather than a cross-scenario delta.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The scenario is clearly framed — user already has home and auto, is deciding whether to add standalone umbrella or rebundle all three — and it lists what inputs to supply. It gives no explicit exclusions or named alternatives (e.g., when to prefer umbrella_limit_planner for sizing), so the agent must infer routing from the comparison framing rather than being told outright.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_calculatorUmbrella insurance calculatorA
Read-onlyIdempotent
Inspect

Research-only estimate of annual personal umbrella pricing bands, the inferred risk class, and per-factor impacts for directional pricing. Use this for price exploration, not when the shopper wants Coverage Cat to shop for or buy umbrella insurance.

NameRequiredDescriptionDefault
zipYesZIP code for the household being priced.
jet_skisNoCount of personal watercraft such as jet skis.
auto_countNoHow many cars, trucks, or SUVs are in the household auto profile.
motorcyclesNoHow many motorcycles should be added to the total vehicle exposure.
property_countNoHow many residential properties the household owns or carries liability for.
drivers_over_70NoNumber of drivers in the household who are 70 or older.
antique_vehiclesNoHow many collector or antique vehicles should be counted in the risk profile.
drivers_under_22NoNumber of drivers in the household who are younger than 22.
large_watercraftNoCount of boats of any size; personal watercraft go under jet_skis.
moving_violationsNoTotal moving violations across all household drivers. Omitted counts as none; a high count can move the profile to specialized review or make it ineligible for instant pricing.
at_fault_accidentsNoTotal at-fault accidents across all household drivers. Omitted counts as none; a high count can move the profile to specialized review or make it ineligible for instant pricing.

Output Schema

NameRequiredDescription
inputsYesThe household counts you sent, parsed to integers; omitted counts are left out.
estimateYesRisk class and annual premium bands.
disclaimerYesNotice that these figures are informational estimates, not binding quotes; relay it with the numbers.
estimate_unitYesUnit of every price: `annual_premium_usd`, annual premium in US dollars.
factor_impactsYesHousehold factors that moved the profile off the best (`preferred`) class; empty when none did.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already establish read-only, idempotent, non-destructive, closed-world behavior. The description adds useful context that this is a research-only directional estimate rather than a binding quote or purchase action, though it does not discuss auth, limits, or detailed eligibility behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and front-loads what the tool returns before stating the usage boundary. Every sentence contributes directly to selection or correct use.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter estimate with an output schema and rich annotations, the description covers purpose, output nature, and the key usage boundary. It could say more about estimate limitations or eligibility implications, but the schema and output schema carry the detailed parameter and return-value information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 11 parameters are already documented in the schema. The description only implies that those factors drive risk class and per-factor impacts; it adds no parameter syntax, defaults, or special-case guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: an estimate of annual personal umbrella pricing bands, inferred risk class, and per-factor impacts. It also distinguishes this research-only pricing tool from the shop/buy umbrella sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use case (price exploration) and a when-not case (when the shopper wants Coverage Cat to shop for or buy umbrella insurance). It does not name the specific alternative consumer/shop tools, so the routing is clear but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_attachUmbrella consumer attachment uploadA
DestructiveIdempotent
Inspect

Upload declarations or auto declarations during the consumer-prefill umbrella post-choose flow. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the same consumer-operated MCP subset. Use only after selection and only when Coverage Cat says documents are needed. If both the home and auto files are already available, prefer one attach call with attachments so the shopper only approves one upload turn. If your runtime already has the files on disk or can stream raw bytes, prefer the REST binary /api/intake/{uid}/attach-upload fallback instead of hand-building base64. The upload itself is usually quick once the files are available, and secure checkout is usually ready about 5-10 minutes after Coverage Cat has the uploads on file.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
typeNoWhich policy the declarations page belongs to: `declarations` for the home, condo, renters, or landlord policy, or `auto_declarations` for the auto policy. Match the upload types Coverage Cat listed in `required_upload_types`.
contentNoThe whole declarations document named by filename, not an excerpt, summary, or extracted text.
filenameNoOriginal file name with its extension, such as `home-declarations.pdf`. Coverage Cat reads the file type from the extension and accepts PDF, JPEG, or PNG files.
attachmentsNoUpload multiple declarations in one call when both files are already available.
idempotency_keyNoKey you generate to identify one logical umbrella_consumer_attach request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the description isn't obligated to restate safety. It does add valuable operational behavior: the stateless MCP 2026-07-28 token requirement, legacy hidden session auth, and the 5-10 minute readiness window after uploads land. It does not explain what makes the call destructive (e.g., whether re-uploading supersedes earlier documents), which is the one gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and every major rule appears, but the paragraph drifts into repeated directives ('Keep tokens private', 'Stay on this same MCP follow-up tool', 'Stay on the same consumer-operated MCP subset') that partly duplicate the schema's intake_access_token description. A few sentences could be merged or dropped without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers auth, idempotency intent, batching, fallback transport, and expected downstream timing. Only the destructive/replacement semantics of a re-upload are left unexplained for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by instructing reuse of uid and the latest intake_access_token across follow-ups and by steering agents toward attachments rather than hand-building base64 content. It also resolves the schema's either/or mode ambiguity in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb and resource ('Upload declarations or auto declarations') and pins the exact flow ('consumer-prefill umbrella post-choose'). This clearly separates it from siblings like umbrella_consumer_prefill and umbrella_consumer_bind.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the precondition ('only after selection and only when Coverage Cat says documents are needed'), a preferred invocation mode ('prefer one attach call with attachments'), and a concrete alternative route (REST binary /api/intake/{uid}/attach-upload for file-on-disk runtimes). That is when, when-not, and alternatives all in one paragraph.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_bindContinue umbrella bindA
DestructiveIdempotent
Inspect

Continue the consumer-prefill umbrella bind follow-up only after select returns needs_more_info_to_bind or ready_to_finalize. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the same consumer-operated MCP subset and send only the current bind-stage fields inside intake. This later bind-stage follow-up is where actual vehicle details may appear for selected offers such as Markel; do not move that question into the pre-submit review.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intakeNoAnswers to the current bind-stage next_question, keyed by the field names Coverage Cat asked for, such as vehicle details for a selected Markel offer.
idempotency_keyNoKey you generate to identify one logical umbrella_consumer_bind request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructiveHint=true and idempotentHint=true, so the description focuses on what they cannot convey: stateless MCP 2026-07-28 requires the token on every follow-up, legacy hosts may carry hidden shopper session auth, and tokens must be kept private. It does not explain what the destructive bind actually commits (e.g., whether an offer is bound or a policy created), leaving one meaningful behavioral gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The gating condition is correctly front-loaded, but the prose is dense and repetitive, with overlapping directives ('Keep tokens private', 'Stay on this same MCP follow-up tool', 'Stay on the same consumer-operated MCP subset') and a trailing scope lecture about Markel vehicle details that could be compressed to one clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-step, stateful, destructive bind operation the description covers the state-machine entry condition, credential handling, and payload scoping, and an output schema exists so return values need not be described. What remains missing is the consequence of a successful bind and whether the intake object's expected fields can be discovered before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description largely restates what the schema already states about uid and intake_access_token; its only real addition is the constraint to send 'only the current bind-stage fields' inside intake, which is a thin increment over the structured data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Continue the consumer-prefill umbrella bind follow-up') and pins the exact precondition ('only after select returns needs_more_info_to_bind or ready_to_finalize'). This clearly separates it from umbrella_consumer_prefill and umbrella_consumer_select in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit when-to-use gate tied to the prior tool's return states, plus concrete reuse instructions for uid and intake_access_token. It also forbids repurposing: 'stay on this same MCP follow-up tool' and don't move the vehicle-details question into pre-submit review.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_paymentCollect umbrella paymentA
DestructiveIdempotent
Inspect

Prepare secure Stripe payment collection or submit the resulting payment method during the consumer-prefill umbrella post-choose flow. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the same consumer-operated MCP subset. Use this only after Coverage Cat says payment_needed. First call it with payment_collection_requested: true; do not send the shopper straight to payment_url before you try this native step. If the host confirms the registered secure payment UI can render, display it and wait for completion; do not request card details through conversational text. After successful Stripe setup, call this same tool again with setup_intent_id and payment_method_id. If UI support is unknown or unsupported, or if secure setup fails in chat, share payment_url with the specific fallback reason instead.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the current shopper session.
idempotency_keyNoKey you generate to identify one logical umbrella_consumer_payment request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
setup_intent_idNoSetupIntent id returned by the earlier payment_collection_ready response.
payment_method_idNoReusable Stripe PaymentMethod id produced by secure client-side setup confirmation.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.
payment_collection_requestedNoStarts secure card collection: Coverage Cat prepares a Stripe SetupIntent and returns the publishable_key, client_secret, and setup_intent_id the registered payment UI needs. Send it on the first payment call, without setup_intent_id or payment_method_id.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, and the description goes well beyond them: statelessness of MCP 2026-07-28 and the token requirement, the rule not to collect card details in conversational text, the two-phase handshake, and the fallback path. The one gap is that it never explains what the destructiveHint actually destroys or whether a prepared SetupIntent is reversible, so an agent cannot fully assess the mutation's blast radius.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and then sequenced as a procedure, which suits a multi-step tool. There is some redundancy ('Keep tokens private' and 'do not show it to the shopper' duplicate the intake_access_token schema description) and 'Stay on the same consumer-operated MCP subset' is vague filler, but most sentences carry actionable constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, stateful, multi-phase payment tool this covers preconditions, ordering, privacy constraints, error/retry behavior and the fallback branch; the existence of an output schema means return values need not be described. An agent has everything required to invoke it correctly on the first attempt.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3; the description earns an extra point by adding workflow meaning the schema does not convey, namely that payment_collection_requested is the first-call mode and that setup_intent_id plus payment_method_id must be sent together on the follow-up call. It also reinforces the token-reuse rule across follow-ups.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Prepare secure Stripe payment collection or submit the resulting payment method') and scopes it to the 'consumer-prefill umbrella post-choose flow,' which cleanly separates it from siblings like umbrella_consumer_bind, umbrella_consumer_select and umbrella_consumer_attach. The two operating modes are named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a hard precondition ('Use this only after Coverage Cat says payment_needed'), an ordered procedure ('First call it with payment_collection_requested: true'), an explicit prohibition ('do not send the shopper straight to payment_url before you try this native step'), and the fallback trigger ('If UI support is unknown or unsupported, or if secure setup fails in chat'). Nothing about when-to-use is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_policyGet umbrella policyAInspect

Read the current bound or cancelled umbrella policy record, policy documents, and any existing cancellation, refund, or support request history. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. This request records access attribution and rotates follow-up access, but does not advance or change policy state. Use it after Coverage Cat reports a policy on file, or after a service request is opened, to show policy facts without switching to delegated tools.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains the surprising readOnlyHint=false annotation: the call records access attribution and rotates the follow-up access token, but does not advance or change policy state. It also discloses the stateless MCP 2026-07-28 token requirement and that legacy hosts may rely on hidden shopper session authorization. That is exactly the behavioral context annotations alone cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, which is good, but the token guidance is repeated across multiple sentences and partially duplicates what the schema already states about keeping the token private. The prose is denser than needed for a two-parameter read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return shape needn't be described, and the description instead covers auth, token chaining, and state effects. What an agent needs to call this correctly is present. Only the relationship to specific sibling policy/service tools is left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds operational meaning beyond the schema: the token must be the latest one from the previous successful response on every follow-up, and the uid is reused per application. This clarifies the chaining protocol, not just the field types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource set: read the bound or cancelled umbrella policy record, its documents, and any cancellation/refund/support history. That is enough for an agent to know what comes back. It never names a concrete sibling (e.g. homeowners_consumer_policy or umbrella_consumer_service), so the differentiation from adjacent tools stays implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit trigger conditions: use after Coverage Cat reports a policy on file, or after a service request is opened. It also implies an exclusion by saying to stay on this follow-up tool rather than switch to delegated tools. There is no explicit when-not-to-use or named alternative tool, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_prefillUmbrella consumer prefill handoffA
Idempotent
Inspect

Preferred umbrella MCP entry point when a shopper wants Coverage Cat to shop for, compare, or buy umbrella insurance and no operator bearer token is present. On a cold start, call this before asking the shopper a questionnaire and assemble the fullest justified estimate from user-controlled context. Use canonical umbrella keys such as address.street/city/state/zip, license_state, license_number, approximate_asset_value or net_worth_numeric, desired_coverage_limit, required_coverage_e_limit, and vehicle_count or umbrella_details.motorized_vehicle_count. Do not send vehicles rows before submission. Stay on the same consumer-operated subset through consumer_intake_issues, consumer_intake_patch, umbrella_consumer_select, umbrella_consumer_bind, umbrella_consumer_attach, umbrella_consumer_payment, umbrella_consumer_policy, and umbrella_consumer_service. If you are rehearsing the shopper flow, set sandbox: true on this first prefill call only. That same consumer sandbox uid can then continue through the same shopper-safe flow. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Until later follow-up shows progress, tell the shopper the application is not submitted yet. Coverage Cat will not resume or expose a prior consumer umbrella draft based on email alone. Continue an existing consumer draft only through the issued uid plus the current hidden MCP session or latest intake_access_token handoff.

NameRequiredDescriptionDefault
intakeYesFullest currently known consumer umbrella application patch. Use canonical keys such as address.street/city/state/zip, license_state, license_number, approximate_asset_value or net_worth_numeric, desired_coverage_limit, required_coverage_e_limit, and vehicle_count or umbrella_details.motorized_vehicle_count for umbrella counts. Do not send vehicles rows before submission.
sandboxNoSet true on this first prefill call to run a fully synthetic shopper rehearsal instead of a live application. The returned sandbox uid continues through the same consumer tool set.
field_estimatesNoProvenance for intake values you inferred from context rather than heard from the shopper, one row per inferred value. On the initial umbrella handoff, add rows only for fields that already appear in the current umbrella review; otherwise send `intake` alone.
idempotency_keyNoKey you generate to identify one logical umbrella_consumer_prefill request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
credit_consent_pendingYesDeclares that this handoff starts before the shopper has given consumer-report authorization for insurance underwriting, so do not ask about it now. Coverage Cat requests that authorization on `umbrella_consumer_select`, once the shopper picks an offer.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for MCP follow-up.
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
expires_atYesWhen the current consumer handoff expires.
review_summaryYesCurrent non-authoritative pre-submit checkpoint the agent may summarize before continuing in chat or opening a browser fallback. Unless a later follow-up response shows quote progress, treat this application as not submitted yet. If any shown value is estimated, mark that bullet or value with `*`, include the short note `* = estimated` once above and once below the list, and do not prefix every estimated line with `[Estimated]`.
intake_access_tokenYesShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the mutation/idempotency/safety profile, but the description adds substantial behavior the annotations cannot express: stateless MCP requiring an `intake_access_token`, reuse of uid plus latest token on follow-ups, legacy host session authorization, token privacy, and the 'not submitted yet' reassurance rule. These are real operational constraints an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The intent is front-loaded, but the paragraph bloats: the full list of nine sibling tool names is enumerated mid-sentence, the canonical key list is repeated from the schema, and 'Do not send vehicles rows before submission' appears twice. Several sentences about tokens and sessions could be compressed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and rich per-parameter descriptions, the description covers the handoff contract, token lifecycle, sandbox mode, and consent timing well enough to call correctly. It stops short of describing failure modes or what the returned uid/token look like, but the output schema carries that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already spells out canonical intake keys, the `sandbox` semantics, the `field_estimates` provenance rows, and the `idempotency_key` retry contract, so the description largely restates rather than extends. The one added nuance ('do not send vehicles rows before submission') is useful but appears verbatim in the schema too, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the verb (prefill handoff), the resource (umbrella consumer intake), and the exact triggering condition ('shopper wants Coverage Cat to shop for, compare, or buy umbrella insurance and no operator bearer token is present'). It also distinguishes this entry point from follow-up siblings by naming the whole consumer-operated subset that comes after it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit sequencing guidance: call this on cold start before asking the questionnaire, then stay on the named follow-up tools (`consumer_intake_issues`, `consumer_intake_patch`, `umbrella_consumer_select`, ...). It also states a clear when-not ('Coverage Cat will not resume or expose a prior consumer umbrella draft based on email alone') and the sandbox rehearsal path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_selectUmbrella consumer offer selectA
DestructiveIdempotent
Inspect

Continue the consumer-prefill umbrella flow after quotes are ready. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the same consumer-operated MCP subset, use the returned selection_token, collect the real user's consumer-report authorization for insurance underwriting here, and let Coverage Cat enter the normal post-choose workflow without switching to delegated tools. A selected Monoline offer also requires the separate returned MVR authorization; show its full text and source URL and collect both receipts in the same turn. If the quote payload exposed selection_guidance.same_reply_requirements for the chosen offer, send those answers under intake on this first select call. If Coverage Cat returns a consent-required response with a bind-stage next_question, ask for all returned authorizations and details together, then retry this same tool with the receipts and intake.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intakeNoBind-stage answers for the current next_question, or the chosen offer's selection_guidance.same_reply_requirements, keyed by the field names Coverage Cat asked for. Send them when Coverage Cat asked for consent and bind details in the same shopper-facing turn.
credit_consentNoThe real user's response to Coverage Cat's current consumer-report authorization for insurance underwriting, collected only after Coverage Cat returns the disclosure.
idempotency_keyNoKey you generate to identify one logical umbrella_consumer_select request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
selection_tokenYesselection_token of the shopper's chosen offer from `offers[]` in the latest quoted follow-up response.
um_uim_electionNoThe shopper's choice to include or decline the offer's $1M excess UM/UIM option, when they make it in the same selection reply.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.
selection_confirmedYesAttests that the shopper explicitly picked the offer named by selection_token in chat, rather than the agent choosing for them.
monoline_mvr_consentNoThe real user's response to the selected Monoline offer's MVR and consumer-report authorization, after the complete returned carrier-specific disclosure and source URL are shown.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and idempotentHint=true, and the description supplies real added context: stateless MCP 2026-07-28 requires the token on every follow-up, tokens must stay private, legacy hosts may hold hidden session authorization, and consent must be personally collected before submitting. It still never explains what the destructive side effect actually commits (e.g., that the application moves into a post-choose/bind track or whether the choice is revocable), which is the one behavioral fact an agent most needs before calling a destructive tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The rules are operational rather than filler, but the paragraph is dense and repeats itself ("keep tokens private and stay on this same MCP follow-up tool" vs. the closing clause about not switching to delegated tools), and consent/privacy instructions are interleaved with flow control instead of grouped. A reader must parse several sentences before reaching the one action the tool performs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter destructive tool with nested consent objects and an output schema, the description covers the full lifecycle: preconditions, token handling, per-offer consent branches, the Monoline MVR disclosure requirement, and the retry path after a consent-required response. Return values are handled by the output schema, so nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3, but the description adds cross-parameter conditional meaning the schema cannot express: when intake must carry selection_guidance.same_reply_requirements, when monoline_mvr_consent is separately required versus credit_consent, and when to resend the same idempotency_key after a failure. That is genuine semantics beyond field-level descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence places the tool in the flow ("continue the consumer-prefill umbrella flow after quotes are ready") and the body makes the action clear through selection_token and selection_confirmed, so an agent can tell it apart from umbrella_consumer_bind, umbrella_consumer_attach and umbrella_consumer_payment. It never states the verb/resource as plainly as "select the shopper's chosen umbrella offer," so the core action must be inferred from the parameters rather than read in the first clause.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete preconditions (quotes ready, reuse uid and intake_access_token), conditional branches (selection_guidance.same_reply_requirements on the first select call, Monoline offers requiring the separate MVR authorization, consent-required responses requiring a retry with receipts), and a clear exclusion (do not switch to delegated tools). It does not name the specific sibling tools for downstream steps, so routing is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_consumer_servicePreview or open umbrella service requestA
DestructiveIdempotent
Inspect

Preview or open a cancellation, refund, or support request for a consumer umbrella policy. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the same consumer-operated MCP subset after bind. Preview the consequences first, then send confirm_request: true only after the shopper approves opening the request. Do not describe a cancellation, refund, or support issue as completed until Coverage Cat confirms the final outcome.

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the current shopper session.
reasonYesShort shopper-approved reason for the request.
detailsNoShopper-approved context beyond the short reason, such as the specifics of a billing dispute, recorded on the request and its preview.
request_typeYesWhat the shopper wants done after purchase. `policy_cancellation` asks the carrier to end the policy on requested_effective_date; `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage; `support_case` opens a general support case for anything else.
confirm_requestNoWhether to open the request now. false, the default, returns a preview of the consequences without opening anything; send true only after the shopper approves that preview.
idempotency_keyNoKey you generate to identify one logical umbrella_consumer_service request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.
requested_effective_dateNoDay the shopper wants a cancellation to take effect; used only for policy_cancellation. It is a request: the carrier reviews it and may set a different date.

Output Schema

NameRequiredDescription
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is largely covered. The description adds genuinely useful context beyond that: the stateless MCP 2026-07-28 token requirement, token privacy handling, and the rule not to describe a request as completed until Coverage Cat confirms the outcome. It doesn't spell out precisely what the destructive action affects (e.g. coverage ending), leaving a small gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical guidance (preview before confirm, token reuse) is front-loaded, which is good. However, the middle is cluttered with overlapping directives: 'Keep tokens private and stay on this same MCP follow-up tool' is immediately followed by 'Stay on the same consumer-operated MCP subset after bind,' which adds little and is ambiguous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and rich annotations, the description need not explain return values, and it covers the stateful follow-up flow, approval gate, and completion-confirmation rule. What is missing is any note on what actually happens to the underlying policy after a cancellation is opened, which matters for a destructive tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and every parameter including confirm_request, idempotency_key, and requested_effective_date is documented in the schema itself. The description's parameter guidance (reuse uid and intake_access_token, confirm after approval) largely restates what the schema already says. Baseline 3 is appropriate when the schema carries this much detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: preview or open a cancellation, refund, or support request for a consumer umbrella policy. That is clearly distinct from siblings like umbrella_consumer_policy, umbrella_consumer_bind, and umbrella_consumer_payment, which handle other stages. It doesn't explicitly name an alternative tool, so it stops just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit two-step workflow: preview first, then send confirm_request: true only after the shopper approves the preview. It also states the follow-up sequencing (reuse uid and the latest intake_access_token from the previous successful response) and tells the agent to stay on this follow-up tool rather than drifting to another one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_limit_plannerUmbrella coverage limit plannerA
Read-onlyIdempotent
Inspect

Compare how much umbrella coverage to consider from net worth, independently confirmed protected assets, an optional income allowance, and the lowest applicable underlying liability limit. Returns the arithmetic target, additional limit needed, and $0/$1M/$2M/$3M/$5M/$10M scenarios. This is planning, not a quote or a determination of legally exposed assets.

NameRequiredDescriptionDefault
net_worthYesAssets minus debts, including property equity. Use 0 if negative. Whole US dollars.
income_yearsNoChoose 0 for an assets-only scenario; not a garnishment estimate.
annual_incomeNoIncome included in your optional planning allowance. Whole US dollars.
protected_assetsNoOnly amounts included in net worth whose legal protection you have confirmed. Whole US dollars.
underlying_limitYesUse the lowest applicable auto, home, or rental liability limit. For a single injured person under split auto limits, use the per-person limit. Do not add separate policies together. Whole US dollars.

Output Schema

NameRequiredDescription
inputsYesNormalized caller inputs including defaults; unverified optional limits remain null.
sourcesYesPrimary background sources; premiums and required limits still come from the caller.
scenariosYesIllustrations for $0, $1M, $2M, $3M, $5M, and $10M of umbrella coverage.
disclaimerYesLimits of this planning result and the need to verify policy terms and legal protections.
assumptionsYesAssumptions and exclusions needed to interpret the calculation.
estimate_unitYesCurrency for monetary inputs and outputs; year/count fields retain their named units.
assets_includedYesNet worth minus the caller's confirmed protected-assets allowance, in USD.
planning_targetYesAssets included plus the optional income allowance, in USD.
income_allowanceYesAnnual income multiplied by the chosen income years, in USD; not a garnishment forecast.
methodology_versionYesVersion date of the calculator's arithmetic and assumptions.
additional_limit_neededYesPlanning target minus the applicable underlying limit, floored at zero, in USD.
specialist_review_neededYesTrue when none of the illustrated umbrella limits meets the arithmetic target.
first_illustrated_limit_meeting_targetYesFirst listed scenario meeting the arithmetic target, not a coverage recommendation. Null when the target exceeds every scenario.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real context beyond them: it discloses the output contents (arithmetic target, additional limit needed, and the $0–$10M scenario ladder) and attaches an explicit disclaimer that the result is not a quote or a legal determination — a behavioral trait no annotation conveys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the calculation inputs before the return values and the scope caveat. Every sentence earns its place; the enumerated scenario ladder is slightly verbose but informative about output shape.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the description still summarizes returns, annotations cover safety, and parameters are fully documented. The remaining gap is the absence of any routing guidance relative to umbrella_calculator and umbrella_underlying_limit_check in a crowded umbrella namespace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with five well-documented parameters, so the schema already carries the semantics. The description restates the input categories and hints at their relationships (protected assets must be independently confirmed, income allowance optional, underlying limit is the lowest applicable), but adds nothing the schema doesn't already say more precisely.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-and-resource pair: comparing how much umbrella coverage to consider from named inputs (net worth, protected assets, income allowance, underlying limit). The scope boundary ('planning, not a quote or a determination of legally exposed assets') further sharpens what the tool is. It does not, however, name or contrast with close siblings such as umbrella_calculator or umbrella_underlying_limit_check, so the agent must infer the split.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for planning-level comparison and explicitly excludes quoting and legal exposure determination, which helps an agent know what not to expect. But it never states conditions that select it over umbrella_calculator or umbrella_underlying_limit_check, leaving the sibling choice to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

umbrella_underlying_limit_checkUmbrella underlying limit checkerA
Read-onlyIdempotent
Inspect

Check an auto, homeowners, renters, or rental-property policy against the underlying liability requirements stated in a specific umbrella quote. Supply requirements from that quote, not assumed carrier minimums. Missing current limits stay unknown. Returns each required increase separately; it does not determine claim payouts or eligibility.

NameRequiredDescriptionDefault
policy_typeYesChoose home for homeowners, renters, or rental-property liability; auto_csl for combined single limit; auto_split for separate bodily-injury and property-damage limits. auto_split requires required_per_person, required_per_accident, and required_property_damage; home and auto_csl require required_limit. Send only fields for the chosen structure.
current_limitNoRead from your current declarations. Omit or use null if unknown; enter 0 only when confirmed. Whole US dollars.
required_limitNoRead the positive required limit from the specific umbrella quote or policy. Whole US dollars.
current_per_personNoRead from your current declarations. Omit or use null if unknown; enter 0 only when confirmed. Whole US dollars.
required_per_personNoRead the positive required limit from the specific umbrella quote or policy. Whole US dollars.
current_per_accidentNoRead from your current declarations. Omit or use null if unknown; enter 0 only when confirmed. Whole US dollars. Must be at least the corresponding per-person limit.
required_per_accidentNoRead the positive required limit from the specific umbrella quote or policy. Whole US dollars. Must be at least the corresponding per-person limit.
current_property_damageNoRead from your current declarations. Omit or use null if unknown; enter 0 only when confirmed. Whole US dollars.
required_property_damageNoRead the positive required limit from the specific umbrella quote or policy. Whole US dollars.

Output Schema

NameRequiredDescription
checksYesSeparate comparisons for each applicable component; do not add split auto limits together.
inputsYesNormalized caller inputs including defaults; unverified optional limits remain null.
statusYesA confirmed shortfall takes priority; otherwise unknown current limits need verification, or every entered requirement is met.
sourcesYesPrimary background sources; premiums and required limits still come from the caller.
disclaimerYesLimits of this planning result and the need to verify policy terms and legal protections.
assumptionsYesAssumptions and exclusions needed to interpret the calculation.
estimate_unitYesCurrency for monetary inputs and outputs; year/count fields retain their named units.
methodology_versionYesVersion date of the calculator's arithmetic and assumptions.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, closed-world, non-destructive, so the safety bar is low. The description still adds real behavioral context: unknown limits are not filled in or guessed, each required increase is returned separately, and it explicitly disclaims claim-payout and eligibility determinations — scoping the output beyond what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the action and scope, then the input constraint, then the output caveat. Dense and nearly waste-free; only slight overlap between the required-from-quote instruction and the identical wording already in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be described, and annotations cover the safety profile. For a 9-parameter, conditionally-structured tool the description supplies the key operational caveats (quote-sourced requirements, unknown stays unknown, per-increase results), though it could have noted the structure-dependent required fields it only gestures at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including the enum explanation and the null-vs-zero distinction, so the schema already carries the semantics. The description reinforces the 'from the quote, not assumed minimums' intent but adds no format or structural detail beyond that, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (check) and resource (an underlying policy against a specific umbrella quote's liability requirements), and enumerates the covered policy types. It does not name a sibling like umbrella_limit_planner or umbrella_calculator, so the agent must infer the boundary from the 'requirements from that quote' framing rather than an explicit contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives input-sourcing guidance ('supply requirements from that quote, not assumed carrier minimums') and a data-handling rule ('missing current limits stay unknown'), which shape how to call it. It gives no explicit when-to-use-this-instead-of signal against the several umbrella siblings, leaving the routing inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updates
    • Changedconsumer_intake_issues10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedconsumer_intake_patch10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedconsumer_intake_verify_email10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Removedemployee_benefits_planner
    • Removedemployee_benefits_read_documents
    • Changedhomeowners_consumer_policy10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedhomeowners_consumer_service10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_attach10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_bind10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_payment10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_policy10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_prefill9 fields changed
      • addedOutput schema / properties / review_summary / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / review_summary / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / review_summary / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / review_summary / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / review_summary / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / review_summary / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / review_summary / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / review_summary / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / review_summary / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_select11 fields changed
      • addedInput schema / properties / monoline_mvr_consent
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The real user's response to the selected Monoline offer's MVR and consumer-report authorization, after the complete returned carrier-specific disclosure and source URL are shown.",
        +  "properties": {
        +    "answer": {
        +      "description": "Records the shopper's own Yes, No or Revoke reply. Preserve declines and revocations; never infer or convert another answer into Yes.",
        +      "enum": [
        +        "Yes",
        +        "No",
        +        "Revoke"
        +      ],
        +      "type": "string"
        +    },
        +    "collected_from_user": {
        +      "const": true,
        +      "description": "Attests that the shopper personally answered the displayed authorization in this conversation, rather than the agent assuming their response.",
        +      "type": "boolean"
        +    },
        +    "disclosure_hash": {
        +      "description": "The text_hash from monoline_mvr_consent_disclosure.",
        +      "type": "string"
        +    },
        +    "disclosure_version": {
        +      "description": "The version from monoline_mvr_consent_disclosure.",
        +      "type": "string"
        +    },
        +    "presentation_reference": {
        +      "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
        +      "maxLength": 200,
        +      "type": "string"
        +    },
        +    "presented_at": {
        +      "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "shown_to_user": {
        +      "const": true,
        +      "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "answer",
        +    "collected_from_user",
        +    "shown_to_user",
        +    "disclosure_version",
        +    "disclosure_hash",
        +    "presented_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
    • Changedumbrella_consumer_service10 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
        Added value: +{
        +  "format": "date",
        +  "type": "string"
        +}
      • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
        Added value: +{
        +  "format": "uri",
        +  "type": "string"
        +}
      • changedOutput schema / properties / detail_status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
      • addedOutput schema / properties / monoline_mvr_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "monoline_mvr",
        +      "type": "string"
        +    },
        +    "source_updated_at": {
        +      "format": "date",
        +      "type": "string"
        +    },
        +    "source_url": {
        +      "format": "uri",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash",
        +    "source_url",
        +    "source_updated_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / monoline_mvr_consent_question
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / status / enum
        Previous value: -[
        -  "abandoned",
        -  "blocked",
        -  "bound",
        -  "cancelled",
        -  "chosen",
        -  "credit_consent_pending",
        -  "credit_consent_required",
        -  "dev_success",
        -  "documents_needed",
        -  "documents_pending_review",
        -  "email_sent",
        -  "in_review",
        -  "ineligible",
        -  "info_requested",
        -  "needs_more_info",
        -  "needs_more_info_to_bind",
        -  "no_policy",
        -  "no_chosen_offer",
        -  "no_quotes",
        -  "no_selection",
        -  "ok",
        -  "payment_collection_ready",
        -  "payment_needed",
        -  "pending",
        -  "pending_quotes",
        -  "queued",
        -  "quote_rate_limited",
        -  "quoted",
        -  "ready_for_review",
        -  "ready_for_submission",
        -  "ready_to_finalize",
        -  "review_pending",
        -  "service_preview",
        -  "service_requested",
        -  "sandbox_unsupported",
        -  "stale_selection",
        -  "verifying_documents",
        -  "waiting_on_carrier",
        -  "waiting_on_documents",
        -  "waiting_on_payment"
        -]New value: +[
        +  "abandoned",
        +  "blocked",
        +  "bound",
        +  "cancelled",
        +  "chosen",
        +  "credit_consent_pending",
        +  "credit_consent_required",
        +  "monoline_mvr_consent_required",
        +  "dev_success",
        +  "documents_needed",
        +  "documents_pending_review",
        +  "email_sent",
        +  "in_review",
        +  "ineligible",
        +  "info_requested",
        +  "needs_more_info",
        +  "needs_more_info_to_bind",
        +  "no_policy",
        +  "no_chosen_offer",
        +  "no_quotes",
        +  "no_selection",
        +  "ok",
        +  "payment_collection_ready",
        +  "payment_needed",
        +  "pending",
        +  "pending_quotes",
        +  "queued",
        +  "quote_rate_limited",
        +  "quoted",
        +  "ready_for_review",
        +  "ready_for_submission",
        +  "ready_to_finalize",
        +  "review_pending",
        +  "service_preview",
        +  "service_requested",
        +  "sandbox_unsupported",
        +  "stale_selection",
        +  "verifying_documents",
        +  "waiting_on_carrier",
        +  "waiting_on_documents",
        +  "waiting_on_payment"
        +]
  2. 13 tool updates
    • Changedconsumer_intake_issues1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedconsumer_intake_patch3 fields changed
      • changedInput schema / properties / message_reply / description
        Previous value: -"Homeowners post-submit only. Send the reply text Coverage Cat should deliver in-thread when consumer_intake_issues surfaced an insurer or shopper follow-up under conversation.messages."New value: +"Existing-policy support correspondence. Send the reply text Coverage Cat should deliver in-thread when consumer_intake_issues surfaces a message under conversation.messages. This does not start a new homeowners application."
      • changedInput schema / properties / reply_to_message_id / description
        Previous value: -"Homeowners post-submit message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to."New value: +"Existing-policy support message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to."
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedconsumer_intake_verify_email1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Removedhomeowners_agent_finder
    • Removedhomeowners_consumer_bind
    • Changedhomeowners_consumer_policy1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Removedhomeowners_consumer_prefill
    • Removedhomeowners_consumer_select
    • Removedproperty_insurance_advice
    • Changedumbrella_consumer_attach1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedumbrella_consumer_bind1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedumbrella_consumer_policy1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedumbrella_consumer_select1 field changed
      • changedInput schema / properties / uid / description
        Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
  3. 15 tool updates
    • Changedconsumer_intake_issues2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedconsumer_intake_patch4 fields changed
      • addedInput schema / properties / contact_preferences
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional service SMS/call choices. Offer alongside an existing review when useful; do not add a required purchase step. Omission leaves choices unchanged. Marketing is disabled.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service contact choice for the phone number already on file; never a purchase requirement or marketing authorization.",
        +      "properties": {
        +        "answer": {
        +          "description": "The customer's own Yes, No or Revoke answer to the corresponding service disclosure.",
        +          "enum": [
        +            "Yes",
        +            "No",
        +            "Revoke"
        +          ],
        +          "type": "string"
        +        },
        +        "collected_from_user": {
        +          "const": true,
        +          "description": "The customer personally answered this service contact question.",
        +          "type": "boolean"
        +        },
        +        "disclosure_hash": {
        +          "description": "text_hash from the corresponding contact_preferences_disclosures entry.",
        +          "type": "string"
        +        },
        +        "disclosure_version": {
        +          "description": "Version from the corresponding contact_preferences_disclosures entry.",
        +          "type": "string"
        +        },
        +        "presentation_reference": {
        +          "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
        +          "maxLength": 200,
        +          "type": "string"
        +        },
        +        "presented_at": {
        +          "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
        +          "format": "date-time",
        +          "type": "string"
        +        },
        +        "shown_to_user": {
        +          "const": true,
        +          "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "answer",
        +        "collected_from_user",
        +        "shown_to_user",
        +        "disclosure_version",
        +        "disclosure_hash",
        +        "presented_at"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service contact choice for the phone number already on file; never a purchase requirement or marketing authorization.",
        +      "properties": {
        +        "answer": {
        +          "description": "The customer's own Yes, No or Revoke answer to the corresponding service disclosure.",
        +          "enum": [
        +            "Yes",
        +            "No",
        +            "Revoke"
        +          ],
        +          "type": "string"
        +        },
        +        "collected_from_user": {
        +          "const": true,
        +          "description": "The customer personally answered this service contact question.",
        +          "type": "boolean"
        +        },
        +        "disclosure_hash": {
        +          "description": "text_hash from the corresponding contact_preferences_disclosures entry.",
        +          "type": "string"
        +        },
        +        "disclosure_version": {
        +          "description": "Version from the corresponding contact_preferences_disclosures entry.",
        +          "type": "string"
        +        },
        +        "presentation_reference": {
        +          "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
        +          "maxLength": 200,
        +          "type": "string"
        +        },
        +        "presented_at": {
        +          "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
        +          "format": "date-time",
        +          "type": "string"
        +        },
        +        "shown_to_user": {
        +          "const": true,
        +          "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "answer",
        +        "collected_from_user",
        +        "shown_to_user",
        +        "disclosure_version",
        +        "disclosure_hash",
        +        "presented_at"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / credit_consent
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "The real user's response to Coverage Cat's current consumer-report authorization for insurance underwriting, collected only after Coverage Cat returns the disclosure.",
        +  "properties": {
        +    "answer": {
        +      "description": "Records the shopper's own Yes, No or Revoke reply. Preserve declines and revocations; never infer or convert another answer into Yes.",
        +      "enum": [
        +        "Yes",
        +        "No",
        +        "Revoke"
        +      ],
        +      "type": "string"
        +    },
        +    "collected_from_user": {
        +      "const": true,
        +      "description": "Attests that the shopper personally answered the displayed authorization in this conversation, rather than the agent assuming their response.",
        +      "type": "boolean"
        +    },
        +    "disclosure_hash": {
        +      "description": "The text_hash from credit_consent_disclosure.",
        +      "type": "string"
        +    },
        +    "disclosure_version": {
        +      "description": "The version from credit_consent_disclosure.",
        +      "type": "string"
        +    },
        +    "presentation_reference": {
        +      "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
        +      "maxLength": 200,
        +      "type": "string"
        +    },
        +    "presented_at": {
        +      "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
        +      "format": "date-time",
        +      "type": "string"
        +    },
        +    "shown_to_user": {
        +      "const": true,
        +      "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "answer",
        +    "collected_from_user",
        +    "shown_to_user",
        +    "disclosure_version",
        +    "disclosure_hash",
        +    "presented_at"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedconsumer_intake_verify_email2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_bind2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_policy2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_prefill3 fields changed
      • changedInput schema / properties / credit_consent_pending / description
        Previous value: -"Declares that this handoff starts before the shopper has given soft-credit-check consent, so do not ask about credit now. Coverage Cat requests that consent on the homeowners review turn."New value: +"Declares that this handoff starts before the shopper has given consumer-report authorization for insurance underwriting, so do not ask about it now. Coverage Cat requests that authorization on the homeowners review turn."
      • addedOutput schema / properties / review_summary / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / review_summary / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_select2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_service2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_attach2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_bind2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_payment2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_policy2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_prefill3 fields changed
      • changedInput schema / properties / credit_consent_pending / description
        Previous value: -"Declares that this handoff starts before the shopper has given soft-credit-check consent, so do not ask about credit now. Coverage Cat requests that consent on `umbrella_consumer_select`, once the shopper picks an offer."New value: +"Declares that this handoff starts before the shopper has given consumer-report authorization for insurance underwriting, so do not ask about it now. Coverage Cat requests that authorization on `umbrella_consumer_select`, once the shopper picks an offer."
      • addedOutput schema / properties / review_summary / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / review_summary / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_select12 fields changed
      • changedInput schema / properties / credit_consent / description
        Previous value: -"Real-user consent for a soft credit check, collected on the selection turn when Coverage Cat asks for it."New value: +"The real user's response to Coverage Cat's current consumer-report authorization for insurance underwriting, collected only after Coverage Cat returns the disclosure."
      • changedInput schema / properties / credit_consent / properties / answer / description
        Previous value: -"Records the shopper's own reply agreeing to Coverage Cat's credit_consent_question. Send it only after the shopper agrees in their own words."New value: +"Records the shopper's own Yes, No or Revoke reply. Preserve declines and revocations; never infer or convert another answer into Yes."
      • changedInput schema / properties / credit_consent / properties / answer / enum
        Previous value: -[
        -  "Yes"
        -]New value: +[
        +  "Yes",
        +  "No",
        +  "Revoke"
        +]
      • changedInput schema / properties / credit_consent / properties / collected_from_user / description
        Previous value: -"Attests that the shopper personally answered the credit consent question in this conversation, rather than the agent assuming their consent."New value: +"Attests that the shopper personally answered the displayed authorization in this conversation, rather than the agent assuming their response."
      • addedInput schema / properties / credit_consent / properties / disclosure_hash
        Added value: +{
        +  "description": "The text_hash from credit_consent_disclosure.",
        +  "type": "string"
        +}
      • addedInput schema / properties / credit_consent / properties / disclosure_version
        Added value: +{
        +  "description": "The version from credit_consent_disclosure.",
        +  "type": "string"
        +}
      • addedInput schema / properties / credit_consent / properties / presentation_reference
        Added value: +{
        +  "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
        +  "maxLength": 200,
        +  "type": "string"
        +}
      • addedInput schema / properties / credit_consent / properties / presented_at
        Added value: +{
        +  "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
        +  "format": "date-time",
        +  "type": "string"
        +}
      • addedInput schema / properties / credit_consent / properties / shown_to_user
        Added value: +{
        +  "const": true,
        +  "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / credit_consent / required
        Previous value: -[
        -  "answer",
        -  "collected_from_user"
        -]New value: +[
        +  "answer",
        +  "collected_from_user",
        +  "shown_to_user",
        +  "disclosure_version",
        +  "disclosure_hash",
        +  "presented_at"
        +]
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_service2 fields changed
      • addedOutput schema / properties / contact_preferences_disclosures
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
        +  "properties": {
        +    "service_call": {
        +      "additionalProperties": false,
        +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_call",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    },
        +    "service_sms": {
        +      "additionalProperties": false,
        +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
        +      "properties": {
        +        "kind": {
        +          "const": "service_sms",
        +          "type": "string"
        +        },
        +        "text": {
        +          "minLength": 1,
        +          "type": "string"
        +        },
        +        "text_hash": {
        +          "pattern": "^[a-f0-9]{64}$",
        +          "type": "string"
        +        },
        +        "version": {
        +          "minLength": 1,
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "kind",
        +        "version",
        +        "text",
        +        "text_hash"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / credit_consent_disclosure
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
        +  "properties": {
        +    "kind": {
        +      "const": "credit_report",
        +      "type": "string"
        +    },
        +    "text": {
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "text_hash": {
        +      "pattern": "^[a-f0-9]{64}$",
        +      "type": "string"
        +    },
        +    "version": {
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "version",
        +    "text",
        +    "text_hash"
        +  ],
        +  "type": "object"
        +}
  4. 1 tool update
    • Addedproperty_insurance_advice
  5. 2 tool updates
    • Changedemployee_benefits_planner2 fields changed
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Show this educational-use and professional-advice disclaimer with any benefits guidance.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "assumptions",
        -  "benefit_actions",
        -  "inputs",
        -  "options",
        -  "questions",
        -  "recommendation",
        -  "sources"
        -]New value: +[
        +  "assumptions",
        +  "benefit_actions",
        +  "disclaimer",
        +  "inputs",
        +  "options",
        +  "questions",
        +  "recommendation",
        +  "sources"
        +]
    • Changedemployee_benefits_read_documents2 fields changed
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Show this educational-use and professional-advice disclaimer with any benefits guidance.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "benefits",
        -  "notes",
        -  "plans"
        -]New value: +[
        +  "benefits",
        +  "disclaimer",
        +  "notes",
        +  "plans"
        +]
  6. 2 tool updates
    • Addedemployee_benefits_planner
    • Addedemployee_benefits_read_documents
  7. 15 tool updates
    • Changedconsumer_intake_issues1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedconsumer_intake_patch1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Addedconsumer_intake_verify_email
    • Changedhomeowners_consumer_bind1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_policy1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_prefill1 field changed
      • addedOutput schema / properties / review_summary / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_select1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_service1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_attach1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_bind1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_payment1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_policy1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_prefill1 field changed
      • addedOutput schema / properties / review_summary / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_select1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_service1 field changed
      • addedOutput schema / properties / verification
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "instructions": {
        +      "type": "string"
        +    },
        +    "request_tool": {
        +      "type": "string"
        +    },
        +    "required": {
        +      "type": "boolean"
        +    },
        +    "retry_after_seconds": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "status": {
        +      "enum": [
        +        "required",
        +        "pending",
        +        "verified",
        +        "not_required"
        +      ],
        +      "type": "string"
        +    },
        +    "status_tool": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "required",
        +    "retry_after_seconds",
        +    "request_tool",
        +    "status_tool",
        +    "instructions"
        +  ],
        +  "type": "object"
        +}
  8. 15 tool updates
    • Changedconsumer_intake_issues1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedconsumer_intake_patch1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedhomeowners_consumer_bind1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedhomeowners_consumer_policy1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedhomeowners_consumer_select1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedhomeowners_consumer_service1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Addedumbrella_bundle_comparison
    • Changedumbrella_consumer_attach1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedumbrella_consumer_bind1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedumbrella_consumer_payment1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedumbrella_consumer_policy1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedumbrella_consumer_select1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Changedumbrella_consumer_service1 field changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
    • Addedumbrella_limit_planner
    • Addedumbrella_underlying_limit_check
  9. 1 tool update
    • Changedumbrella_calculator1 field changed
      • changedInput schema / properties / large_watercraft / description
        Previous value: -"Count of boats or other large watercraft that add umbrella liability exposure."New value: +"Count of boats of any size; personal watercraft go under jet_skis."
  10. 20 tool updates
    • Changedauto_estimates17 fields changed
      • changedInput schema / properties / age / description
        Previous value: -"Driver age for the quote scenario."New value: +"Age in years of the driver being priced; the model converts it to a birth year."
      • changedInput schema / properties / collision_deductible / description
        Previous value: -"Collision deductible to use for the estimate scenario."New value: +"Dollars the driver pays toward a collision repair before collision coverage pays the rest. Omitted means $1,000."
      • changedInput schema / properties / comprehensive_deductible / description
        Previous value: -"Comprehensive deductible to use for the estimate scenario."New value: +"Dollars the driver pays toward non-collision damage, such as theft, hail, or vandalism, before comprehensive coverage pays the rest. Omitted means $1,000."
      • changedInput schema / properties / gender / description
        Previous value: -"Driver gender value used by the underlying pricing model."New value: +"Driver gender code the pricing model rates on: `M` for male, `F` for female, or `N` when not specified."
      • changedInput schema / properties / year / description
        Previous value: -"Vehicle model year when you want the estimate to use a specific car."New value: +"Vehicle model year. With make and model it prices a specific car; omit it to price a generic vehicle instead."
      • addedOutput schema / properties / carriers / description
        Added value: +"One estimate per carrier the model could price."
      • addedOutput schema / properties / carriers / items / properties / carrier / description
        Added value: +"Carrier id, such as `geico`."
      • addedOutput schema / properties / carriers / items / properties / monthly / description
        Added value: +"Modeled monthly premium spread for this carrier. Whole US dollars per month."
      • addedOutput schema / properties / carriers / items / properties / monthly / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / carriers / items / properties / monthly / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / carriers / items / properties / monthly / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / carriers / items / properties / monthly / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / carriers / items / properties / monthly / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / carriers / items / properties / name / description
        Added value: +"Carrier display name."
      • addedOutput schema / properties / disclaimer / description
        Added value: +"Notice that these figures are informational estimates, not binding quotes; relay it with the numbers."
      • addedOutput schema / properties / estimate_unit / description
        Added value: +"Unit of the monthly premium spreads: `monthly_premium_usd`."
      • addedOutput schema / properties / inputs / description
        Added value: +"Driver, vehicle, and deductible values the model used, with defaults filled in for omitted inputs."
    • Changedcollision_and_comprehensive_coverage44 fields changed
      • changedInput schema / properties / age / description
        Previous value: -"Driver age for the quote scenario."New value: +"Age in years of the driver being priced; the model converts it to a birth year."
      • changedInput schema / properties / collision_deductible / description
        Previous value: -"Collision deductible to use for the estimate scenario."New value: +"Dollars the driver pays toward a collision repair before collision coverage pays the rest. Omitted means $1,000."
      • changedInput schema / properties / comprehensive_deductible / description
        Previous value: -"Comprehensive deductible to use for the estimate scenario."New value: +"Dollars the driver pays toward non-collision damage, such as theft, hail, or vandalism, before comprehensive coverage pays the rest. Omitted means $1,000."
      • changedInput schema / properties / gender / description
        Previous value: -"Driver gender value used by the underlying pricing model."New value: +"Driver gender code the pricing model rates on: `M` for male, `F` for female, or `N` when not specified."
      • changedInput schema / properties / year / description
        Previous value: -"Vehicle model year when you want the estimate to use a specific car."New value: +"Vehicle model year. With make and model it prices a specific car; omit it to price a generic vehicle instead."
      • addedOutput schema / properties / cumulative_annual_scenarios / description
        Added value: +"Running premium totals for the without, collision-only, and both coverage options."
      • addedOutput schema / properties / cumulative_annual_scenarios / items / properties / cumulative_annual_premiums / description
        Added value: +"Total premium in US dollars paid by the end of each year from 1 to projection_years, based on the median monthly premium."
      • addedOutput schema / properties / cumulative_annual_scenarios / items / properties / label / description
        Added value: +"Shopper-facing scenario name."
      • addedOutput schema / properties / cumulative_annual_scenarios / items / properties / scenario / description
        Added value: +"Scenario key in monthly_estimates: `without`, `collision`, or `both`."
      • addedOutput schema / properties / disclaimer / description
        Added value: +"Notice that these figures are informational estimates, not binding quotes; relay it with the numbers."
      • addedOutput schema / properties / estimate_unit / description
        Added value: +"Unit of the monthly premium spreads: `monthly_premium_usd`."
      • addedOutput schema / properties / inputs / description
        Added value: +"Driver, vehicle, and deductible values the model used, with defaults filled in for omitted inputs."
      • addedOutput schema / properties / monthly_estimates / description
        Added value: +"Monthly premium spread for each coverage scenario."
      • addedOutput schema / properties / monthly_estimates / properties / both / description
        Added value: +"With collision and comprehensive coverage. Whole US dollars per month."
      • addedOutput schema / properties / monthly_estimates / properties / both / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / both / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / both / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / both / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / both / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / both_claim / description
        Added value: +"With collision and comprehensive coverage, after one claim. Whole US dollars per month."
      • addedOutput schema / properties / monthly_estimates / properties / both_claim / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / both_claim / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / both_claim / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / both_claim / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / both_claim / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / collision / description
        Added value: +"With collision coverage only. Whole US dollars per month."
      • addedOutput schema / properties / monthly_estimates / properties / collision / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / collision / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / collision / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / collision / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / collision / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / collision_claim / description
        Added value: +"With collision coverage only, after one claim. Whole US dollars per month."
      • addedOutput schema / properties / monthly_estimates / properties / collision_claim / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / collision_claim / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / collision_claim / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / collision_claim / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / collision_claim / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / without / description
        Added value: +"Without collision or comprehensive coverage. Whole US dollars per month."
      • addedOutput schema / properties / monthly_estimates / properties / without / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / monthly_estimates / properties / without / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / without / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / without / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / monthly_estimates / properties / without / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / projection_years / description
        Added value: +"Number of years the cumulative projections cover."
    • Changedconsumer_intake_patch5 fields changed
      • changedInput schema / properties / field_estimates / description
        Previous value: -"Umbrella provenance rows for inferred values included in the same patch. Each row names the inferred `field` path, its `source`, and a `confidence` of low, medium, or high. Send rows only when you are certain each field path matches a current umbrella review field."New value: +"Umbrella provenance for values in this same patch that you inferred rather than heard from the shopper, one row per inferred value. Add rows only when you are certain each field path matches a current umbrella review field."
      • addedInput schema / properties / field_estimates / items / properties
        Added value: +{
        +  "confidence": {
        +    "description": "How strongly your source supports the inferred value.",
        +    "enum": [
        +      "low",
        +      "medium",
        +      "high"
        +    ],
        +    "type": "string"
        +  },
        +  "field": {
        +    "description": "Intake dot-path of the inferred value, matching the key you sent under `intake`, such as `address.zip`.",
        +    "type": "string"
        +  },
        +  "source": {
        +    "description": "Free-form label for where the inferred value came from, such as `policy_declarations`, `email_thread`, or a property-data provider.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / field_estimates / items / required
        Added value: +[
        +  "field",
        +  "source",
        +  "confidence"
        +]
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical consumer_intake_patch request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical consumer_intake_patch request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / intake / properties / current_auto_coverages / description
        Previous value: -"Band for the shopper's current underlying auto liability limits: `unsure` means I'm not sure; `500k/1m` means $500k/$1 Million/$100k or higher; `500k/500k` means $500k/$500k/$100k or $500k CSL; `300k/300k` means $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` means $100k/$300k/$100k or lower. Choose the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know."New value: +"Which band the shopper's current underlying auto liability limits fall into: `500k/1m` covers $500k/$1 Million/$100k or higher; `500k/500k` covers $500k/$500k/$100k or $500k CSL; `300k/300k` covers $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` covers $100k/$300k/$100k or lower. Pick the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so use `unsure` only when the shopper genuinely does not know their limits."
    • Changeddocs_get_resource4 fields changed
      • addedOutput schema / properties / href / description
        Added value: +"Public web URL for the same content, or null when the resource has no public page."
      • addedOutput schema / properties / mime_type / description
        Added value: +"Format of text, such as `text/markdown`, `application/json`, or `text/yaml`."
      • addedOutput schema / properties / text / description
        Added value: +"The full resource body in mime_type format."
      • addedOutput schema / properties / uri / description
        Added value: +"The resource URI that was read."
    • Changeddocs_list_topics11 fields changed
      • changedInput schema / properties / category / description
        Previous value: -"Optional docs category to browse. Use `all` for the full catalog or narrow to developers, api, or skills."New value: +"Docs category to browse: `developers` for guides such as quickstart, auth, sandbox, and MCP setup, `api` for discovery and OpenAPI documents, `skills` for runtime skill guides, or `all`. Omit it to browse every category."
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of topic entries to return from the filtered catalog."New value: +"How many topics to return from the start of the filtered catalog. Omit it to get up to 25."
      • addedOutput schema / properties / category / description
        Added value: +"Category filter that was applied."
      • addedOutput schema / properties / topics / description
        Added value: +"Topics in catalog order."
      • addedOutput schema / properties / topics / items / properties / category / description
        Added value: +"Docs category: `developers`, `api`, or `skills`."
      • addedOutput schema / properties / topics / items / properties / href / description
        Added value: +"Public web URL for the same content."
      • addedOutput schema / properties / topics / items / properties / mime_type / description
        Added value: +"Format of the resource body, such as `text/markdown` or `text/yaml`."
      • addedOutput schema / properties / topics / items / properties / summary / description
        Added value: +"What the topic covers."
      • addedOutput schema / properties / topics / items / properties / title / description
        Added value: +"Human-readable topic title."
      • addedOutput schema / properties / topics / items / properties / uri / description
        Added value: +"Resource URI to pass to docs_get_resource."
      • addedOutput schema / properties / total / description
        Added value: +"Number of topics in this response after limit, not the size of the whole catalog."
    • Changeddocs_search10 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of matching documentation topics to return."New value: +"How many of the best-ranked topics to return. Omit it to get the top 5."
      • addedOutput schema / properties / matches / description
        Added value: +"Matching topics, best match first."
      • addedOutput schema / properties / matches / items / properties / category / description
        Added value: +"Docs category: `developers`, `api`, or `skills`."
      • addedOutput schema / properties / matches / items / properties / href / description
        Added value: +"Public web URL for the same content."
      • addedOutput schema / properties / matches / items / properties / mime_type / description
        Added value: +"Format of the resource body, such as `text/markdown` or `text/yaml`."
      • addedOutput schema / properties / matches / items / properties / summary / description
        Added value: +"What the topic covers."
      • addedOutput schema / properties / matches / items / properties / title / description
        Added value: +"Human-readable topic title."
      • addedOutput schema / properties / matches / items / properties / uri / description
        Added value: +"Resource URI to pass to docs_get_resource."
      • addedOutput schema / properties / query / description
        Added value: +"The search query after trimming whitespace."
      • addedOutput schema / properties / total / description
        Added value: +"Number of matches in this response after limit, not every topic that matched."
    • Changedfile_a_claim29 fields changed
      • changedInput schema / properties / age / description
        Previous value: -"Driver age for the quote scenario."New value: +"Age in years of the driver being priced; the model converts it to a birth year."
      • changedInput schema / properties / collision_deductible / description
        Previous value: -"Collision deductible to use for the estimate scenario."New value: +"Dollars the driver pays toward a collision repair before collision coverage pays the rest. Omitted means $1,000."
      • changedInput schema / properties / comprehensive_deductible / description
        Previous value: -"Comprehensive deductible to use for the estimate scenario."New value: +"Dollars the driver pays toward non-collision damage, such as theft, hail, or vandalism, before comprehensive coverage pays the rest. Omitted means $1,000."
      • changedInput schema / properties / gender / description
        Previous value: -"Driver gender value used by the underlying pricing model."New value: +"Driver gender code the pricing model rates on: `M` for male, `F` for female, or `N` when not specified."
      • changedInput schema / properties / year / description
        Previous value: -"Vehicle model year when you want the estimate to use a specific car."New value: +"Vehicle model year. With make and model it prices a specific car; omit it to price a generic vehicle instead."
      • addedOutput schema / properties / claim_monthly / description
        Added value: +"Monthly premium spread after filing one claim. Whole US dollars per month."
      • addedOutput schema / properties / claim_monthly / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / claim_monthly / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / claim_monthly / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / claim_monthly / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / claim_monthly / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / deductible / description
        Added value: +"Collision deductible paid when filing."
      • addedOutput schema / properties / disclaimer / description
        Added value: +"Notice that these figures are informational estimates, not binding quotes; relay it with the numbers."
      • addedOutput schema / properties / estimate_unit / description
        Added value: +"Currency of every dollar figure: `usd`."
      • addedOutput schema / properties / inputs / description
        Added value: +"Driver, vehicle, and deductible values the model used, with defaults filled in for omitted inputs."
      • addedOutput schema / properties / monthly_increase / description
        Added value: +"Median monthly premium increase after the claim."
      • addedOutput schema / properties / no_claim_monthly / description
        Added value: +"Monthly premium spread with no claim on record. Whole US dollars per month."
      • addedOutput schema / properties / no_claim_monthly / properties / lower / description
        Added value: +"Lower end of the typical range."
      • addedOutput schema / properties / no_claim_monthly / properties / max / description
        Added value: +"Highest modeled premium."
      • addedOutput schema / properties / no_claim_monthly / properties / median / description
        Added value: +"Median modeled premium."
      • addedOutput schema / properties / no_claim_monthly / properties / min / description
        Added value: +"Lowest modeled premium."
      • addedOutput schema / properties / no_claim_monthly / properties / upper / description
        Added value: +"Upper end of the typical range."
      • addedOutput schema / properties / premium_impact_years / description
        Added value: +"Years the higher premium is assumed to last."
      • addedOutput schema / properties / premium_increase / description
        Added value: +"Total extra premium over premium_impact_years."
      • addedOutput schema / properties / recommendation / description
        Added value: +"Whether filing or paying out of pocket costs less; null when no repair estimate was read."
      • addedOutput schema / properties / recommendation / properties / action / description
        Added value: +"`file_claim` when repair_estimate exceeds total_claim_cost, otherwise `pay_out_of_pocket`."
      • addedOutput schema / properties / recommendation / properties / estimated_savings / description
        Added value: +"Dollars saved by taking action instead of the alternative."
      • addedOutput schema / properties / repair_estimate / description
        Added value: +"The repair estimate you sent."
      • addedOutput schema / properties / total_claim_cost / description
        Added value: +"Total cost of filing: deductible plus premium_increase."
    • Changedhome_calculator21 fields changed
      • addedOutput schema / properties / available_risk_factors / description
        Added value: +"Every risk factor you can pass in risk_factors, whether or not it was applied."
      • addedOutput schema / properties / available_risk_factors / items / properties / id / description
        Added value: +"Value to send in risk_factors."
      • addedOutput schema / properties / available_risk_factors / items / properties / impact_pct / description
        Added value: +"Percent the factor adds to the premium."
      • addedOutput schema / properties / available_risk_factors / items / properties / label / description
        Added value: +"Shopper-facing name of the factor."
      • addedOutput schema / properties / disclaimer / description
        Added value: +"Notice that these figures are informational estimates, not binding quotes; relay it with the numbers."
      • addedOutput schema / properties / estimate / description
        Added value: +"Premium range for the home, in US dollars."
      • addedOutput schema / properties / estimate / properties / annual_high / description
        Added value: +"High end of the annual premium range."
      • addedOutput schema / properties / estimate / properties / annual_low / description
        Added value: +"Low end of the annual premium range."
      • addedOutput schema / properties / estimate / properties / annual_mid / description
        Added value: +"Typical annual premium."
      • addedOutput schema / properties / estimate / properties / monthly_high / description
        Added value: +"High end of the monthly premium range."
      • addedOutput schema / properties / estimate / properties / monthly_low / description
        Added value: +"Low end of the monthly premium range."
      • addedOutput schema / properties / estimate / properties / monthly_mid / description
        Added value: +"Typical monthly premium."
      • addedOutput schema / properties / estimate / properties / risk_factor_count / description
        Added value: +"How many recognized risk factors were applied."
      • addedOutput schema / properties / estimate / properties / zip / description
        Added value: +"ZIP code the estimate priced."
      • addedOutput schema / properties / estimate / properties / zip_risk / description
        Added value: +"ZIP-level premium tier before risk factors: `Standard`, `Moderate`, `Elevated`, or `High`."
      • addedOutput schema / properties / estimate_unit / description
        Added value: +"Currency of every estimate figure: `usd`."
      • addedOutput schema / properties / inputs / description
        Added value: +"The ZIP, square footage, and risk-factor ids the estimate used."
      • addedOutput schema / properties / inputs / properties / home_sqft / description
        Added value: +"Living area in square feet."
      • addedOutput schema / properties / inputs / properties / risk_factors / description
        Added value: +"Risk-factor ids as sent, including any the estimator did not recognize."
      • addedOutput schema / properties / inputs / properties / zip / description
        Added value: +"ZIP code that was priced."
      • addedOutput schema / properties / zip_facts / description
        Added value: +"Context notes that explain the ZIP's premium tier."
    • Changedhomeowners_agent_finder24 fields changed
      • changedInput schema / properties / limit / description
        Previous value: -"Maximum number of matching agent records to return."New value: +"How many agent records to return. Omit it to get up to 25; Coverage Cat returns at most 50 even when asked for more."
      • changedInput schema / properties / lines / description
        Previous value: -"Optional insurance lines to match, such as `homeowners`, `condominium`, or `dwelling_fire`."New value: +"Insurance lines the agent should handle, such as `homeowners`, `condominium`, `dwelling_fire`, or `renters`; an agent listed for any of them matches, and synonyms such as `condo` are normalized. Omit it to search homeowners agents."
      • addedOutput schema / properties / agents / description
        Added value: +"Matching agents and agencies, up to the requested limit."
      • addedOutput schema / properties / agents / items / properties / agency / description
        Added value: +"Agency the agent works for."
      • addedOutput schema / properties / agents / items / properties / company / description
        Added value: +"Agency and carrier affiliations, such as represented insurers."
      • addedOutput schema / properties / agents / items / properties / contact / description
        Added value: +"Published phone, email, and address."
      • addedOutput schema / properties / agents / items / properties / insurer / description
        Added value: +"California only: insurer the agent is appointed with."
      • addedOutput schema / properties / agents / items / properties / languages / description
        Added value: +"Languages the agent lists, when the state publishes them."
      • addedOutput schema / properties / agents / items / properties / last_updated_at / description
        Added value: +"When Coverage Cat last saw this record in the state data."
      • addedOutput schema / properties / agents / items / properties / license_number / description
        Added value: +"State insurance license number."
      • addedOutput schema / properties / agents / items / properties / lines / description
        Added value: +"Insurance lines listed for the agent."
      • addedOutput schema / properties / agents / items / properties / links / description
        Added value: +"URLs for the source record and, when available, the license lookup."
      • addedOutput schema / properties / agents / items / properties / location / description
        Added value: +"Office address, city, state, and zip; California records add coordinates and distance_miles from the searched ZIP."
      • addedOutput schema / properties / agents / items / properties / name / description
        Added value: +"Agent or firm name."
      • addedOutput schema / properties / agents / items / properties / source / description
        Added value: +"Name of the state dataset the record came from."
      • addedOutput schema / properties / agents / items / properties / state / description
        Added value: +"State whose licensing data lists the agent."
      • addedOutput schema / properties / last_updated_at / description
        Added value: +"Most recent refresh time across the returned agents; null when none were returned."
      • addedOutput schema / properties / lines / description
        Added value: +"Normalized insurance lines the search matched against."
      • addedOutput schema / properties / result_count / description
        Added value: +"Number of agents returned."
      • addedOutput schema / properties / source_label / description
        Added value: +"Licensing data source, such as `CA Dept of Insurance`; null outside supported states."
      • addedOutput schema / properties / state / description
        Added value: +"Two-letter state code for the ZIP."
      • addedOutput schema / properties / state_name / description
        Added value: +"Full state name for the ZIP."
      • addedOutput schema / properties / supported_states / description
        Added value: +"States the finder has licensing data for."
      • addedOutput schema / properties / zip / description
        Added value: +"ZIP code that was searched."
    • Changedhomeowners_consumer_bind2 fields changed
      • changedInput schema / properties / bind_confirmed / description
        Previous value: -"Set this to true only after the shopper approves the previewed homeowners bind terms in chat."New value: +"Attests that the shopper approved the previewed homeowners bind terms in chat, including email delivery of any carrier payment or signing links."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical homeowners_consumer_bind request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical homeowners_consumer_bind request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
    • Changedhomeowners_consumer_prefill5 fields changed
      • changedInput schema / properties / credit_consent_pending / description
        Previous value: -"Acknowledges that the shopper has not given soft-credit-check consent yet. Coverage Cat collects that consent on the homeowners review turn."New value: +"Declares that this handoff starts before the shopper has given soft-credit-check consent, so do not ask about credit now. Coverage Cat requests that consent on the homeowners review turn."
      • changedInput schema / properties / field_estimates / description
        Previous value: -"Provenance rows for home values you inferred rather than heard from the shopper, stored on the first `intake.home` row. Each row names the inferred home `field`, its `source`, and a `confidence` of low, medium, or high."New value: +"Provenance for home values you inferred from context or property data rather than heard from the shopper, one row per inferred value. Coverage Cat stores the rows on the first `intake.home` row."
      • addedInput schema / properties / field_estimates / items / properties
        Added value: +{
        +  "confidence": {
        +    "description": "How strongly your source supports the inferred value.",
        +    "enum": [
        +      "low",
        +      "medium",
        +      "high"
        +    ],
        +    "type": "string"
        +  },
        +  "field": {
        +    "description": "Name of the inferred field on the `intake.home` row, such as `home_sqft`.",
        +    "type": "string"
        +  },
        +  "source": {
        +    "description": "Free-form label for where the inferred value came from, such as `policy_declarations`, `email_thread`, or a property-data provider.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / field_estimates / items / required
        Added value: +[
        +  "field",
        +  "source",
        +  "confidence"
        +]
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical homeowners_consumer_prefill request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical homeowners_consumer_prefill request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
    • Changedhomeowners_consumer_select2 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical homeowners_consumer_select request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical homeowners_consumer_select request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / selection_confirmed / description
        Previous value: -"Confirms the shopper explicitly chose this offer in chat."New value: +"Attests that the shopper explicitly picked the offer named by selection_token in chat, rather than the agent choosing for them."
    • Changedhomeowners_consumer_service3 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical homeowners_consumer_service request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical homeowners_consumer_service request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / request_type / description
        Previous value: -"Post-purchase action to preview or open: `policy_cancellation` asks the carrier to cancel the policy as of requested_effective_date, `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage, and `support_case` opens a general support case."New value: +"What the shopper wants done after purchase. `policy_cancellation` asks the carrier to end the policy on requested_effective_date; `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage; `support_case` opens a general support case for anything else."
      • changedInput schema / properties / requested_effective_date / description
        Previous value: -"Date the shopper wants a policy_cancellation to take effect. The carrier reviews it and may approve a different date."New value: +"Day the shopper wants a cancellation to take effect; used only for policy_cancellation. It is a request: the carrier reviews it and may set a different date."
    • Changedumbrella_calculator18 fields changed
      • changedInput schema / properties / at_fault_accidents / description
        Previous value: -"Recent at-fault accidents that should be reflected in the umbrella risk profile."New value: +"Total at-fault accidents across all household drivers. Omitted counts as none; a high count can move the profile to specialized review or make it ineligible for instant pricing."
      • changedInput schema / properties / moving_violations / description
        Previous value: -"Recent moving violations that should be reflected in the umbrella risk profile."New value: +"Total moving violations across all household drivers. Omitted counts as none; a high count can move the profile to specialized review or make it ineligible for instant pricing."
      • addedOutput schema / properties / disclaimer / description
        Added value: +"Notice that these figures are informational estimates, not binding quotes; relay it with the numbers."
      • addedOutput schema / properties / estimate / description
        Added value: +"Risk class and annual premium bands."
      • addedOutput schema / properties / estimate / properties / class / description
        Added value: +"Risk class inferred from the household profile, such as `preferred` or `standard`."
      • addedOutput schema / properties / estimate / properties / prices / description
        Added value: +"One annual premium band per umbrella limit available in the state."
      • addedOutput schema / properties / estimate / properties / prices / items / properties / coverage_millions / description
        Added value: +"Umbrella limit in millions of dollars."
      • addedOutput schema / properties / estimate / properties / prices / items / properties / high / description
        Added value: +"High end of the annual premium band."
      • addedOutput schema / properties / estimate / properties / prices / items / properties / low / description
        Added value: +"Low end of the annual premium band."
      • addedOutput schema / properties / estimate / properties / prices / items / properties / mid / description
        Added value: +"Typical annual premium."
      • addedOutput schema / properties / estimate / properties / umbrella_class / description
        Added value: +"Class used for pricing; it adds `_with_youth` to a standard class when any driver is under 22."
      • addedOutput schema / properties / estimate_unit / description
        Added value: +"Unit of every price: `annual_premium_usd`, annual premium in US dollars."
      • addedOutput schema / properties / factor_impacts / description
        Added value: +"Household factors that moved the profile off the best (`preferred`) class; empty when none did."
      • addedOutput schema / properties / factor_impacts / items / properties / factor / description
        Added value: +"Internal factor id, such as `moving_violation_count`."
      • addedOutput schema / properties / factor_impacts / items / properties / impact / description
        Added value: +"Class this factor alone puts the profile in."
      • addedOutput schema / properties / factor_impacts / items / properties / label / description
        Added value: +"Shopper-facing name of the factor."
      • addedOutput schema / properties / factor_impacts / items / properties / value / description
        Added value: +"Count the estimate used for this factor."
      • addedOutput schema / properties / inputs / description
        Added value: +"The household counts you sent, parsed to integers; omitted counts are left out."
    • Changedumbrella_consumer_attach7 fields changed
      • changedInput schema / properties / attachments / items / properties / content / description
        Previous value: -"Full contents of the declarations file named by filename."New value: +"The whole declarations document named by filename, not an excerpt, summary, or extracted text."
      • changedInput schema / properties / attachments / items / properties / filename / description
        Previous value: -"File name including its extension. Coverage Cat infers the file type from the extension and accepts PDF, JPEG, or PNG."New value: +"Original file name with its extension, such as `home-declarations.pdf`. Coverage Cat reads the file type from the extension and accepts PDF, JPEG, or PNG files."
      • changedInput schema / properties / attachments / items / properties / type / description
        Previous value: -"Which declarations page the file is: `declarations` for the home, condo, renters, or landlord policy, `auto_declarations` for the auto policy."New value: +"Which policy the declarations page belongs to: `declarations` for the home, condo, renters, or landlord policy, or `auto_declarations` for the auto policy. Match the upload types Coverage Cat listed in `required_upload_types`."
      • changedInput schema / properties / content / description
        Previous value: -"Full contents of the declarations file named by filename."New value: +"The whole declarations document named by filename, not an excerpt, summary, or extracted text."
      • changedInput schema / properties / filename / description
        Previous value: -"File name including its extension. Coverage Cat infers the file type from the extension and accepts PDF, JPEG, or PNG."New value: +"Original file name with its extension, such as `home-declarations.pdf`. Coverage Cat reads the file type from the extension and accepts PDF, JPEG, or PNG files."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical umbrella_consumer_attach request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical umbrella_consumer_attach request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / type / description
        Previous value: -"Which declarations page the file is: `declarations` for the home, condo, renters, or landlord policy, `auto_declarations` for the auto policy."New value: +"Which policy the declarations page belongs to: `declarations` for the home, condo, renters, or landlord policy, or `auto_declarations` for the auto policy. Match the upload types Coverage Cat listed in `required_upload_types`."
    • Changedumbrella_consumer_bind1 field changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical umbrella_consumer_bind request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical umbrella_consumer_bind request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
    • Changedumbrella_consumer_payment2 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical umbrella_consumer_payment request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical umbrella_consumer_payment request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / payment_collection_requested / description
        Previous value: -"Use true on the first payment call to request Stripe publishable_key, client_secret, and setup_intent_id."New value: +"Starts secure card collection: Coverage Cat prepares a Stripe SetupIntent and returns the publishable_key, client_secret, and setup_intent_id the registered payment UI needs. Send it on the first payment call, without setup_intent_id or payment_method_id."
    • Changedumbrella_consumer_prefill6 fields changed
      • changedInput schema / properties / credit_consent_pending / description
        Previous value: -"Acknowledges that the shopper has not given soft-credit-check consent yet. Coverage Cat collects that consent on `umbrella_consumer_select`, after an umbrella offer is chosen."New value: +"Declares that this handoff starts before the shopper has given soft-credit-check consent, so do not ask about credit now. Coverage Cat requests that consent on `umbrella_consumer_select`, once the shopper picks an offer."
      • changedInput schema / properties / field_estimates / description
        Previous value: -"Provenance rows for intake values you inferred rather than heard from the shopper. Each row names the inferred `field` path, its `source`, and a `confidence` of low, medium, or high. On the initial umbrella handoff, send rows only when each field path already matches a current umbrella review field."New value: +"Provenance for intake values you inferred from context rather than heard from the shopper, one row per inferred value. On the initial umbrella handoff, add rows only for fields that already appear in the current umbrella review; otherwise send `intake` alone."
      • addedInput schema / properties / field_estimates / items / properties
        Added value: +{
        +  "confidence": {
        +    "description": "How strongly your source supports the inferred value.",
        +    "enum": [
        +      "low",
        +      "medium",
        +      "high"
        +    ],
        +    "type": "string"
        +  },
        +  "field": {
        +    "description": "Intake dot-path of the inferred value, matching the key you sent under `intake`, such as `address.zip`.",
        +    "type": "string"
        +  },
        +  "source": {
        +    "description": "Free-form label for where the inferred value came from, such as `policy_declarations`, `email_thread`, or a property-data provider.",
        +    "type": "string"
        +  }
        +}
      • addedInput schema / properties / field_estimates / items / required
        Added value: +[
        +  "field",
        +  "source",
        +  "confidence"
        +]
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical umbrella_consumer_prefill request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical umbrella_consumer_prefill request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / intake / properties / current_auto_coverages / description
        Previous value: -"Band for the shopper's current underlying auto liability limits: `unsure` means I'm not sure; `500k/1m` means $500k/$1 Million/$100k or higher; `500k/500k` means $500k/$500k/$100k or $500k CSL; `300k/300k` means $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` means $100k/$300k/$100k or lower. Choose the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know."New value: +"Which band the shopper's current underlying auto liability limits fall into: `500k/1m` covers $500k/$1 Million/$100k or higher; `500k/500k` covers $500k/$500k/$100k or $500k CSL; `300k/300k` covers $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` covers $100k/$300k/$100k or lower. Pick the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so use `unsure` only when the shopper genuinely does not know their limits."
    • Changedumbrella_consumer_select5 fields changed
      • changedInput schema / properties / credit_consent / properties / answer / description
        Previous value: -"The shopper's own answer to Coverage Cat's credit_consent_question."New value: +"Records the shopper's own reply agreeing to Coverage Cat's credit_consent_question. Send it only after the shopper agrees in their own words."
      • changedInput schema / properties / credit_consent / properties / collected_from_user / description
        Previous value: -"Attests that the shopper gave this answer directly in the conversation rather than the agent inferring it."New value: +"Attests that the shopper personally answered the credit consent question in this conversation, rather than the agent assuming their consent."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical umbrella_consumer_select request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical umbrella_consumer_select request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / selection_confirmed / description
        Previous value: -"Confirms the shopper explicitly chose this offer in chat."New value: +"Attests that the shopper explicitly picked the offer named by selection_token in chat, rather than the agent choosing for them."
      • changedInput schema / properties / um_uim_election / oneOf
        Previous value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "enum": [
        -      "include",
        -      "decline"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "elected": {
        -        "description": "true to include the excess UM/UIM option, false to decline it.",
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "elected"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "enum": [
        +      "include",
        +      "decline"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "elected": {
        +        "description": "Whether the shopper wants the offer's excess UM/UIM option included.",
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "elected"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedumbrella_consumer_service3 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Retry key you generate for one logical umbrella_consumer_service request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical umbrella_consumer_service request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
      • changedInput schema / properties / request_type / description
        Previous value: -"Post-purchase action to preview or open: `policy_cancellation` asks the carrier to cancel the policy as of requested_effective_date, `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage, and `support_case` opens a general support case."New value: +"What the shopper wants done after purchase. `policy_cancellation` asks the carrier to end the policy on requested_effective_date; `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage; `support_case` opens a general support case for anything else."
      • changedInput schema / properties / requested_effective_date / description
        Previous value: -"Date the shopper wants a policy_cancellation to take effect. The carrier reviews it and may approve a different date."New value: +"Day the shopper wants a cancellation to take effect; used only for policy_cancellation. It is a request: the carrier reviews it and may set a different date."
  11. 23 tool updates
    • Changedauto_estimates12 fields changed
      • addedInput schema / properties / age / description
        Added value: +"Driver age for the quote scenario."
      • addedInput schema / properties / collision_deductible / description
        Added value: +"Collision deductible to use for the estimate scenario."
      • addedInput schema / properties / comprehensive_deductible / description
        Added value: +"Comprehensive deductible to use for the estimate scenario."
      • addedInput schema / properties / gender / description
        Added value: +"Driver gender value used by the underlying pricing model."
      • addedInput schema / properties / make / description
        Added value: +"Vehicle manufacturer, such as `Toyota` or `Honda`."
      • addedInput schema / properties / model / description
        Added value: +"Vehicle model, such as `Camry` or `Civic`."
      • addedInput schema / properties / seed / description
        Added value: +"Optional deterministic seed for the estimate sample when a caller wants stable repeat runs."
      • addedInput schema / properties / state / description
        Added value: +"Two-letter state code for the garaging address or rating state."
      • addedInput schema / properties / style / description
        Added value: +"Vehicle trim, body style, or submodel when you want to narrow the vehicle match."
      • addedInput schema / properties / year / description
        Added value: +"Vehicle model year when you want the estimate to use a specific car."
      • addedInput schema / properties / zip / description
        Added value: +"ZIP code for the driver or garaging location being priced."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "carriers": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "carrier": {
        +            "type": "string"
        +          },
        +          "monthly": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "lower": {
        +                "type": "integer"
        +              },
        +              "max": {
        +                "type": "integer"
        +              },
        +              "median": {
        +                "type": "integer"
        +              },
        +              "min": {
        +                "type": "integer"
        +              },
        +              "upper": {
        +                "type": "integer"
        +              }
        +            },
        +            "required": [
        +              "min",
        +              "lower",
        +              "median",
        +              "upper",
        +              "max"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "carrier",
        +          "name",
        +          "monthly"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "disclaimer": {
        +      "type": "string"
        +    },
        +    "estimate_unit": {
        +      "type": "string"
        +    },
        +    "inputs": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "inputs",
        +    "carriers",
        +    "estimate_unit",
        +    "disclaimer"
        +  ],
        +  "type": "object"
        +}
    • Changedcollision_and_comprehensive_coverage12 fields changed
      • addedInput schema / properties / age / description
        Added value: +"Driver age for the quote scenario."
      • addedInput schema / properties / collision_deductible / description
        Added value: +"Collision deductible to use for the estimate scenario."
      • addedInput schema / properties / comprehensive_deductible / description
        Added value: +"Comprehensive deductible to use for the estimate scenario."
      • addedInput schema / properties / gender / description
        Added value: +"Driver gender value used by the underlying pricing model."
      • addedInput schema / properties / make / description
        Added value: +"Vehicle manufacturer, such as `Toyota` or `Honda`."
      • addedInput schema / properties / model / description
        Added value: +"Vehicle model, such as `Camry` or `Civic`."
      • addedInput schema / properties / seed / description
        Added value: +"Optional deterministic seed for the estimate sample when a caller wants stable repeat runs."
      • addedInput schema / properties / state / description
        Added value: +"Two-letter state code for the garaging address or rating state."
      • addedInput schema / properties / style / description
        Added value: +"Vehicle trim, body style, or submodel when you want to narrow the vehicle match."
      • addedInput schema / properties / year / description
        Added value: +"Vehicle model year when you want the estimate to use a specific car."
      • addedInput schema / properties / zip / description
        Added value: +"ZIP code for the driver or garaging location being priced."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "cumulative_annual_scenarios": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "cumulative_annual_premiums": {
        +            "items": {
        +              "type": "integer"
        +            },
        +            "type": "array"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "scenario": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "scenario",
        +          "label",
        +          "cumulative_annual_premiums"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "disclaimer": {
        +      "type": "string"
        +    },
        +    "estimate_unit": {
        +      "type": "string"
        +    },
        +    "inputs": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    "monthly_estimates": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "both": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "lower": {
        +              "type": "integer"
        +            },
        +            "max": {
        +              "type": "integer"
        +            },
        +            "median": {
        +              "type": "integer"
        +            },
        +            "min": {
        +              "type": "integer"
        +            },
        +            "upper": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "min",
        +            "lower",
        +            "median",
        +            "upper",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "both_claim": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "lower": {
        +              "type": "integer"
        +            },
        +            "max": {
        +              "type": "integer"
        +            },
        +            "median": {
        +              "type": "integer"
        +            },
        +            "min": {
        +              "type": "integer"
        +            },
        +            "upper": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "min",
        +            "lower",
        +            "median",
        +            "upper",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "collision": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "lower": {
        +              "type": "integer"
        +            },
        +            "max": {
        +              "type": "integer"
        +            },
        +            "median": {
        +              "type": "integer"
        +            },
        +            "min": {
        +              "type": "integer"
        +            },
        +            "upper": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "min",
        +            "lower",
        +            "median",
        +            "upper",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "collision_claim": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "lower": {
        +              "type": "integer"
        +            },
        +            "max": {
        +              "type": "integer"
        +            },
        +            "median": {
        +              "type": "integer"
        +            },
        +            "min": {
        +              "type": "integer"
        +            },
        +            "upper": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "min",
        +            "lower",
        +            "median",
        +            "upper",
        +            "max"
        +          ],
        +          "type": "object"
        +        },
        +        "without": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "lower": {
        +              "type": "integer"
        +            },
        +            "max": {
        +              "type": "integer"
        +            },
        +            "median": {
        +              "type": "integer"
        +            },
        +            "min": {
        +              "type": "integer"
        +            },
        +            "upper": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "min",
        +            "lower",
        +            "median",
        +            "upper",
        +            "max"
        +          ],
        +          "type": "object"
        +        }
        +      },
        +      "required": [
        +        "without",
        +        "collision",
        +        "both",
        +        "collision_claim",
        +        "both_claim"
        +      ],
        +      "type": "object"
        +    },
        +    "projection_years": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "inputs",
        +    "monthly_estimates",
        +    "projection_years",
        +    "cumulative_annual_scenarios",
        +    "estimate_unit",
        +    "disclaimer"
        +  ],
        +  "type": "object"
        +}
    • Changedconsumer_intake_issues2 fields changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedconsumer_intake_patch7 fields changed
      • changedInput schema / properties / field_estimates / description
        Previous value: -"Umbrella-only estimate metadata for inferred values included in the same patch. Omit it unless you are certain each field path matches a current umbrella review field."New value: +"Umbrella provenance rows for inferred values included in the same patch. Each row names the inferred `field` path, its `source`, and a `confidence` of low, medium, or high. Send rows only when you are certain each field path matches a current umbrella review field."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for consumer_intake_patch. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical consumer_intake_patch request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake / description
        Previous value: -"Top-level intake edits. For umbrella, send only missing shopper-owned details, corrections, or canonical umbrella count fixes such as umbrella_details.motorized_vehicle_count. Do not send vehicles rows on this pre-submit patch. current_auto_coverages is a banded enum, not free text: send one of unsure for I'm not sure; 500k/1m for $500k/$1 Million/$100k or higher; 500k/500k for $500k/$500k/$100k or $500k CSL; 300k/300k for $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; 100k/300k for $100k/$300k/$100k or lower. Coverage Cat rejects the shopper's raw limits, so translate them into the strongest band those limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve unsure for limits the shopper genuinely does not know rather than using it to skip the translation."New value: +"Top-level intake edits. For umbrella, send only missing shopper-owned details, corrections, or canonical umbrella count fixes such as umbrella_details.motorized_vehicle_count. Do not send vehicles rows on this pre-submit patch."
      • changedInput schema / properties / intake / properties / current_auto_coverages / description
        Previous value: -"`current_auto_coverages` is a banded enum, not free text: send one of `unsure` for I'm not sure; `500k/1m` for $500k/$1 Million/$100k or higher; `500k/500k` for $500k/$500k/$100k or $500k CSL; `300k/300k` for $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` for $100k/$300k/$100k or lower. Coverage Cat rejects the shopper's raw limits, so translate them into the strongest band those limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know rather than using it to skip the translation."New value: +"Band for the shopper's current underlying auto liability limits: `unsure` means I'm not sure; `500k/1m` means $500k/$1 Million/$100k or higher; `500k/500k` means $500k/$500k/$100k or $500k CSL; `300k/300k` means $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` means $100k/$300k/$100k or lower. Choose the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • changedInput schema / properties / reply_to_message_id / description
        Previous value: -"Optional homeowners post-submit target from conversation.messages[].message_id when Coverage Cat returned a specific message to answer in-thread."New value: +"Homeowners post-submit message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changeddocs_get_resource1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "href": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "mime_type": {
        +      "type": "string"
        +    },
        +    "text": {
        +      "type": "string"
        +    },
        +    "uri": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "uri",
        +    "href",
        +    "mime_type",
        +    "text"
        +  ],
        +  "type": "object"
        +}
    • Changeddocs_list_topics3 fields changed
      • addedInput schema / properties / category / description
        Added value: +"Optional docs category to browse. Use `all` for the full catalog or narrow to developers, api, or skills."
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of topic entries to return from the filtered catalog."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "category": {
        +      "type": "string"
        +    },
        +    "topics": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "category": {
        +            "type": "string"
        +          },
        +          "href": {
        +            "type": "string"
        +          },
        +          "mime_type": {
        +            "type": "string"
        +          },
        +          "summary": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "uri": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "uri",
        +          "mime_type",
        +          "summary",
        +          "category",
        +          "href"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "category",
        +    "total",
        +    "topics"
        +  ],
        +  "type": "object"
        +}
    • Changeddocs_search3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of matching documentation topics to return."
      • changedInput schema / properties / query / description
        Previous value: -"Search terms for the documentation need."New value: +"Search terms describing the documentation need."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "matches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "category": {
        +            "type": "string"
        +          },
        +          "href": {
        +            "type": "string"
        +          },
        +          "mime_type": {
        +            "type": "string"
        +          },
        +          "summary": {
        +            "type": "string"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "uri": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "title",
        +          "uri",
        +          "mime_type",
        +          "summary",
        +          "category",
        +          "href"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "query",
        +    "total",
        +    "matches"
        +  ],
        +  "type": "object"
        +}
    • Changedfile_a_claim13 fields changed
      • addedInput schema / properties / age / description
        Added value: +"Driver age for the quote scenario."
      • addedInput schema / properties / collision_deductible / description
        Added value: +"Collision deductible to use for the estimate scenario."
      • addedInput schema / properties / comprehensive_deductible / description
        Added value: +"Comprehensive deductible to use for the estimate scenario."
      • addedInput schema / properties / gender / description
        Added value: +"Driver gender value used by the underlying pricing model."
      • addedInput schema / properties / make / description
        Added value: +"Vehicle manufacturer, such as `Toyota` or `Honda`."
      • addedInput schema / properties / model / description
        Added value: +"Vehicle model, such as `Camry` or `Civic`."
      • addedInput schema / properties / repair_estimate / description
        Added value: +"Approximate dollar amount you expect to pay to repair the vehicle if you do not file a claim."
      • addedInput schema / properties / seed / description
        Added value: +"Optional deterministic seed for the estimate sample when a caller wants stable repeat runs."
      • addedInput schema / properties / state / description
        Added value: +"Two-letter state code for the garaging address or rating state."
      • addedInput schema / properties / style / description
        Added value: +"Vehicle trim, body style, or submodel when you want to narrow the vehicle match."
      • addedInput schema / properties / year / description
        Added value: +"Vehicle model year when you want the estimate to use a specific car."
      • addedInput schema / properties / zip / description
        Added value: +"ZIP code for the driver or garaging location being priced."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "claim_monthly": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "lower": {
        +          "type": "integer"
        +        },
        +        "max": {
        +          "type": "integer"
        +        },
        +        "median": {
        +          "type": "integer"
        +        },
        +        "min": {
        +          "type": "integer"
        +        },
        +        "upper": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "min",
        +        "lower",
        +        "median",
        +        "upper",
        +        "max"
        +      ],
        +      "type": "object"
        +    },
        +    "deductible": {
        +      "type": "integer"
        +    },
        +    "disclaimer": {
        +      "type": "string"
        +    },
        +    "estimate_unit": {
        +      "type": "string"
        +    },
        +    "inputs": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    "monthly_increase": {
        +      "type": "integer"
        +    },
        +    "no_claim_monthly": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "lower": {
        +          "type": "integer"
        +        },
        +        "max": {
        +          "type": "integer"
        +        },
        +        "median": {
        +          "type": "integer"
        +        },
        +        "min": {
        +          "type": "integer"
        +        },
        +        "upper": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "min",
        +        "lower",
        +        "median",
        +        "upper",
        +        "max"
        +      ],
        +      "type": "object"
        +    },
        +    "premium_impact_years": {
        +      "type": "integer"
        +    },
        +    "premium_increase": {
        +      "type": "integer"
        +    },
        +    "recommendation": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "action": {
        +          "type": "string"
        +        },
        +        "estimated_savings": {
        +          "type": "integer"
        +        }
        +      },
        +      "required": [
        +        "action",
        +        "estimated_savings"
        +      ],
        +      "type": [
        +        "object",
        +        "null"
        +      ]
        +    },
        +    "repair_estimate": {
        +      "type": "integer"
        +    },
        +    "total_claim_cost": {
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "inputs",
        +    "no_claim_monthly",
        +    "claim_monthly",
        +    "monthly_increase",
        +    "premium_impact_years",
        +    "premium_increase",
        +    "deductible",
        +    "total_claim_cost",
        +    "repair_estimate",
        +    "estimate_unit",
        +    "disclaimer"
        +  ],
        +  "type": "object"
        +}
    • Changedhome_calculator4 fields changed
      • addedInput schema / properties / home_sqft / description
        Added value: +"Approximate finished living area of the home in square feet."
      • changedInput schema / properties / risk_factors / description
        Previous value: -"Optional risk factor identifiers."New value: +"Optional Coverage Cat risk-factor ids, such as `pool` or `old_systems`, for property traits that can change premium."
      • changedInput schema / properties / zip / description
        Previous value: -"Five-digit ZIP code."New value: +"ZIP code for the California property being estimated."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "available_risk_factors": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "id": {
        +            "type": "string"
        +          },
        +          "impact_pct": {
        +            "type": "integer"
        +          },
        +          "label": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "id",
        +          "label",
        +          "impact_pct"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "disclaimer": {
        +      "type": "string"
        +    },
        +    "estimate": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "annual_high": {
        +          "type": "integer"
        +        },
        +        "annual_low": {
        +          "type": "integer"
        +        },
        +        "annual_mid": {
        +          "type": "integer"
        +        },
        +        "monthly_high": {
        +          "type": "integer"
        +        },
        +        "monthly_low": {
        +          "type": "integer"
        +        },
        +        "monthly_mid": {
        +          "type": "integer"
        +        },
        +        "risk_factor_count": {
        +          "type": "integer"
        +        },
        +        "zip": {
        +          "type": "string"
        +        },
        +        "zip_risk": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "annual_low",
        +        "annual_mid",
        +        "annual_high",
        +        "monthly_low",
        +        "monthly_mid",
        +        "monthly_high",
        +        "zip",
        +        "zip_risk",
        +        "risk_factor_count"
        +      ],
        +      "type": "object"
        +    },
        +    "estimate_unit": {
        +      "type": "string"
        +    },
        +    "inputs": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "home_sqft": {
        +          "type": "integer"
        +        },
        +        "risk_factors": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "zip": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "zip",
        +        "home_sqft",
        +        "risk_factors"
        +      ],
        +      "type": "object"
        +    },
        +    "zip_facts": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "inputs",
        +    "estimate",
        +    "available_risk_factors",
        +    "zip_facts",
        +    "estimate_unit",
        +    "disclaimer"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_agent_finder4 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum number of matching agent records to return."
      • changedInput schema / properties / lines / description
        Previous value: -"Requested insurance lines."New value: +"Optional insurance lines to match, such as `homeowners`, `condominium`, or `dwelling_fire`."
      • changedInput schema / properties / zip / description
        Previous value: -"Five-digit ZIP code."New value: +"ZIP code to search for nearby homeowners agents."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "agents": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "agency": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "company": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "contact": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "insurer": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "languages": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": [
        +              "array",
        +              "null"
        +            ]
        +          },
        +          "last_updated_at": {
        +            "format": "date-time",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "license_number": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "lines": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "links": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "location": {
        +            "additionalProperties": true,
        +            "type": "object"
        +          },
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "source": {
        +            "type": "string"
        +          },
        +          "state": {
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "state",
        +          "source",
        +          "lines",
        +          "location",
        +          "contact",
        +          "links"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "last_updated_at": {
        +      "format": "date-time",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "lines": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "result_count": {
        +      "type": "integer"
        +    },
        +    "source_label": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "state": {
        +      "type": "string"
        +    },
        +    "state_name": {
        +      "type": "string"
        +    },
        +    "supported_states": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "zip": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "zip",
        +    "state",
        +    "state_name",
        +    "source_label",
        +    "lines",
        +    "agents",
        +    "result_count",
        +    "supported_states"
        +  ],
        +  "type": "object"
        +}
    • Changedhomeowners_consumer_bind5 fields changed
      • addedInput schema / properties / bind_confirmed / description
        Added value: +"Set this to true only after the shopper approves the previewed homeowners bind terms in chat."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for homeowners_consumer_bind. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical homeowners_consumer_bind request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / preview_token / description
        Added value: +"Preview token returned by `homeowners_consumer_select` in the `ready_to_finalize` response for this exact offer."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by the earlier homeowners consumer-prefill or follow-up response."
    • Changedhomeowners_consumer_policy2 fields changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedhomeowners_consumer_prefill4 fields changed
      • changedInput schema / properties / credit_consent_pending / description
        Previous value: -"Must be true. Coverage Cat collects soft-credit consent on the direct review turn."New value: +"Acknowledges that the shopper has not given soft-credit-check consent yet. Coverage Cat collects that consent on the homeowners review turn."
      • addedInput schema / properties / field_estimates / description
        Added value: +"Provenance rows for home values you inferred rather than heard from the shopper, stored on the first `intake.home` row. Each row names the inferred home `field`, its `source`, and a `confidence` of low, medium, or high."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for homeowners_consumer_prefill. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical homeowners_consumer_prefill request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • addedInput schema / properties / intake / description
        Added value: +"Fullest currently known homeowners application assembled from the user's own context: shopper name and email plus a `home` row (object or one-row array) with the property street, city, state, and zip, and the home_ownership and property_type that distinguish standard homeowners, condo, or landlord coverage."
    • Changedhomeowners_consumer_select5 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for homeowners_consumer_select. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical homeowners_consumer_select request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / selection_confirmed / description
        Added value: +"Confirms the shopper explicitly chose this offer in chat."
      • addedInput schema / properties / selection_token / description
        Added value: +"selection_token of the shopper's chosen offer from `offers[]` in the latest quoted follow-up response."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedhomeowners_consumer_service7 fields changed
      • changedInput schema / description
        Previous value: -"requested_effective_date is required when request_type is policy_cancellation. Omit or send confirm_request: false to preview first."New value: +"requested_effective_date is required when request_type is policy_cancellation."
      • changedInput schema / properties / confirm_request / description
        Previous value: -"Omit or send false to preview the consequences first. Send true only after the shopper approves opening the request."New value: +"Whether to open the request now. false, the default, returns a preview of the consequences without opening anything; send true only after the shopper approves that preview."
      • changedInput schema / properties / details / description
        Previous value: -"Optional extra context or dispute details."New value: +"Shopper-approved context beyond the short reason, such as the specifics of a billing dispute, recorded on the request and its preview."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for homeowners_consumer_service. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical homeowners_consumer_service request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • changedInput schema / properties / request_type / description
        Previous value: -"Which post-purchase action Coverage Cat should preview or open."New value: +"Post-purchase action to preview or open: `policy_cancellation` asks the carrier to cancel the policy as of requested_effective_date, `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage, and `support_case` opens a general support case."
      • changedInput schema / properties / requested_effective_date / description
        Previous value: -"Required for policy_cancellation. Desired cancellation date for carrier review."New value: +"Date the shopper wants a policy_cancellation to take effect. The carrier reviews it and may approve a different date."
    • Changedumbrella_calculator12 fields changed
      • addedInput schema / properties / antique_vehicles / description
        Added value: +"How many collector or antique vehicles should be counted in the risk profile."
      • addedInput schema / properties / at_fault_accidents / description
        Added value: +"Recent at-fault accidents that should be reflected in the umbrella risk profile."
      • addedInput schema / properties / auto_count / description
        Added value: +"How many cars, trucks, or SUVs are in the household auto profile."
      • addedInput schema / properties / drivers_over_70 / description
        Added value: +"Number of drivers in the household who are 70 or older."
      • addedInput schema / properties / drivers_under_22 / description
        Added value: +"Number of drivers in the household who are younger than 22."
      • addedInput schema / properties / jet_skis / description
        Added value: +"Count of personal watercraft such as jet skis."
      • addedInput schema / properties / large_watercraft / description
        Added value: +"Count of boats or other large watercraft that add umbrella liability exposure."
      • addedInput schema / properties / motorcycles / description
        Added value: +"How many motorcycles should be added to the total vehicle exposure."
      • addedInput schema / properties / moving_violations / description
        Added value: +"Recent moving violations that should be reflected in the umbrella risk profile."
      • addedInput schema / properties / property_count / description
        Added value: +"How many residential properties the household owns or carries liability for."
      • changedInput schema / properties / zip / description
        Previous value: -"Five-digit ZIP code."New value: +"ZIP code for the household being priced."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "disclaimer": {
        +      "type": "string"
        +    },
        +    "estimate": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "class": {
        +          "type": "string"
        +        },
        +        "prices": {
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "coverage_millions": {
        +                "type": "integer"
        +              },
        +              "high": {
        +                "type": "integer"
        +              },
        +              "low": {
        +                "type": "integer"
        +              },
        +              "mid": {
        +                "type": "integer"
        +              }
        +            },
        +            "required": [
        +              "coverage_millions",
        +              "low",
        +              "mid",
        +              "high"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "umbrella_class": {
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "class",
        +        "umbrella_class",
        +        "prices"
        +      ],
        +      "type": "object"
        +    },
        +    "estimate_unit": {
        +      "type": "string"
        +    },
        +    "factor_impacts": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "factor": {
        +            "type": "string"
        +          },
        +          "impact": {
        +            "type": "string"
        +          },
        +          "label": {
        +            "type": "string"
        +          },
        +          "value": {
        +            "type": "integer"
        +          }
        +        },
        +        "required": [
        +          "factor",
        +          "label",
        +          "value",
        +          "impact"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "inputs": {
        +      "additionalProperties": true,
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "inputs",
        +    "estimate",
        +    "factor_impacts",
        +    "estimate_unit",
        +    "disclaimer"
        +  ],
        +  "type": "object"
        +}
    • Changedumbrella_consumer_attach11 fields changed
      • addedInput schema / properties / attachments / items / properties / content / contentEncoding
        Added value: +"base64"
      • changedInput schema / properties / attachments / items / properties / content / description
        Previous value: -"Base64-encoded file bytes."New value: +"Full contents of the declarations file named by filename."
      • addedInput schema / properties / attachments / items / properties / filename / description
        Added value: +"File name including its extension. Coverage Cat infers the file type from the extension and accepts PDF, JPEG, or PNG."
      • addedInput schema / properties / attachments / items / properties / type / description
        Added value: +"Which declarations page the file is: `declarations` for the home, condo, renters, or landlord policy, `auto_declarations` for the auto policy."
      • addedInput schema / properties / content / contentEncoding
        Added value: +"base64"
      • changedInput schema / properties / content / description
        Previous value: -"Base64-encoded file bytes."New value: +"Full contents of the declarations file named by filename."
      • addedInput schema / properties / filename / description
        Added value: +"File name including its extension. Coverage Cat infers the file type from the extension and accepts PDF, JPEG, or PNG."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for umbrella_consumer_attach. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical umbrella_consumer_attach request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / type / description
        Added value: +"Which declarations page the file is: `declarations` for the home, condo, renters, or landlord policy, `auto_declarations` for the auto policy."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedumbrella_consumer_bind4 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for umbrella_consumer_bind. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical umbrella_consumer_bind request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • addedInput schema / properties / intake / description
        Added value: +"Answers to the current bind-stage next_question, keyed by the field names Coverage Cat asked for, such as vehicle details for a selected Markel offer."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedumbrella_consumer_payment2 fields changed
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for umbrella_consumer_payment. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical umbrella_consumer_payment request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
    • Changedumbrella_consumer_policy2 fields changed
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
    • Changedumbrella_consumer_prefill6 fields changed
      • changedInput schema / properties / credit_consent_pending / description
        Previous value: -"Must be true. Coverage Cat collects consent for a soft credit check only after an umbrella offer is chosen."New value: +"Acknowledges that the shopper has not given soft-credit-check consent yet. Coverage Cat collects that consent on `umbrella_consumer_select`, after an umbrella offer is chosen."
      • changedInput schema / properties / field_estimates / description
        Previous value: -"Optional estimate metadata. On the initial consumer umbrella handoff, prefer omitting this unless each field path already matches a current umbrella review field."New value: +"Provenance rows for intake values you inferred rather than heard from the shopper. Each row names the inferred `field` path, its `source`, and a `confidence` of low, medium, or high. On the initial umbrella handoff, send rows only when each field path already matches a current umbrella review field."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for umbrella_consumer_prefill. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical umbrella_consumer_prefill request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake / description
        Previous value: -"Fullest currently known consumer umbrella application patch. Use canonical keys such as address.street/city/state/zip, license_state, license_number, approximate_asset_value or net_worth_numeric, desired_coverage_limit, required_coverage_e_limit, and vehicle_count or umbrella_details.motorized_vehicle_count for umbrella counts. Do not send vehicles rows before submission. current_auto_coverages is a banded enum, not free text: send one of unsure for I'm not sure; 500k/1m for $500k/$1 Million/$100k or higher; 500k/500k for $500k/$500k/$100k or $500k CSL; 300k/300k for $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; 100k/300k for $100k/$300k/$100k or lower. Coverage Cat rejects the shopper's raw limits, so translate them into the strongest band those limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve unsure for limits the shopper genuinely does not know rather than using it to skip the translation."New value: +"Fullest currently known consumer umbrella application patch. Use canonical keys such as address.street/city/state/zip, license_state, license_number, approximate_asset_value or net_worth_numeric, desired_coverage_limit, required_coverage_e_limit, and vehicle_count or umbrella_details.motorized_vehicle_count for umbrella counts. Do not send vehicles rows before submission."
      • changedInput schema / properties / intake / properties / current_auto_coverages / description
        Previous value: -"`current_auto_coverages` is a banded enum, not free text: send one of `unsure` for I'm not sure; `500k/1m` for $500k/$1 Million/$100k or higher; `500k/500k` for $500k/$500k/$100k or $500k CSL; `300k/300k` for $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` for $100k/$300k/$100k or lower. Coverage Cat rejects the shopper's raw limits, so translate them into the strongest band those limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know rather than using it to skip the translation."New value: +"Band for the shopper's current underlying auto liability limits: `unsure` means I'm not sure; `500k/1m` means $500k/$1 Million/$100k or higher; `500k/500k` means $500k/$500k/$100k or $500k CSL; `300k/300k` means $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` means $100k/$300k/$100k or lower. Choose the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know."
      • changedInput schema / properties / sandbox / description
        Previous value: -"Optional. Set true only on the first consumer umbrella prefill call when you want a fully synthetic shopper rehearsal that continues on the same consumer tool set."New value: +"Set true on this first prefill call to run a fully synthetic shopper rehearsal instead of a live application. The returned sandbox uid continues through the same consumer tool set."
    • Changedumbrella_consumer_select10 fields changed
      • addedInput schema / properties / credit_consent / properties / answer / description
        Added value: +"The shopper's own answer to Coverage Cat's credit_consent_question."
      • addedInput schema / properties / credit_consent / properties / collected_from_user / description
        Added value: +"Attests that the shopper gave this answer directly in the conversation rather than the agent inferring it."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for umbrella_consumer_select. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical umbrella_consumer_select request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake / description
        Previous value: -"Optional bind-stage answers for the current next_question when Coverage Cat asked for consent and bind details in the same shopper-facing turn."New value: +"Bind-stage answers for the current next_question, or the chosen offer's selection_guidance.same_reply_requirements, keyed by the field names Coverage Cat asked for. Send them when Coverage Cat asked for consent and bind details in the same shopper-facing turn."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • addedInput schema / properties / selection_confirmed / description
        Added value: +"Confirms the shopper explicitly chose this offer in chat."
      • addedInput schema / properties / selection_token / description
        Added value: +"selection_token of the shopper's chosen offer from `offers[]` in the latest quoted follow-up response."
      • addedInput schema / properties / uid / description
        Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
      • changedInput schema / properties / um_uim_election / description
        Previous value: -"Optional. Use this when the shopper wants to include or decline the offer's $1M excess UM/UIM option in the same selection reply."New value: +"The shopper's choice to include or decline the offer's $1M excess UM/UIM option, when they make it in the same selection reply."
      • changedInput schema / properties / um_uim_election / oneOf
        Previous value: -[
        -  {
        -    "type": "boolean"
        -  },
        -  {
        -    "enum": [
        -      "include",
        -      "decline"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "elected": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "elected"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "type": "boolean"
        +  },
        +  {
        +    "enum": [
        +      "include",
        +      "decline"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "elected": {
        +        "description": "true to include the excess UM/UIM option, false to decline it.",
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "elected"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedumbrella_consumer_service7 fields changed
      • changedInput schema / description
        Previous value: -"requested_effective_date is required when request_type is policy_cancellation. Omit or send confirm_request: false to preview first."New value: +"requested_effective_date is required when request_type is policy_cancellation."
      • changedInput schema / properties / confirm_request / description
        Previous value: -"Omit or send false to preview the consequences first. Send true only after the shopper approves opening the request."New value: +"Whether to open the request now. false, the default, returns a preview of the consequences without opening anything; send true only after the shopper approves that preview."
      • changedInput schema / properties / details / description
        Previous value: -"Optional extra context or dispute details."New value: +"Shopper-approved context beyond the short reason, such as the specifics of a billing dispute, recorded on the request and its preview."
      • changedInput schema / properties / idempotency_key / description
        Previous value: -"Optional retry key for umbrella_consumer_service. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical umbrella_consumer_service request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
      • changedInput schema / properties / intake_access_token / description
        Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
      • changedInput schema / properties / request_type / description
        Previous value: -"Which post-purchase action Coverage Cat should preview or open."New value: +"Post-purchase action to preview or open: `policy_cancellation` asks the carrier to cancel the policy as of requested_effective_date, `refund_request` asks the carrier or billing provider to review a refund or outstanding balance without changing coverage, and `support_case` opens a general support case."
      • changedInput schema / properties / requested_effective_date / description
        Previous value: -"Required for policy_cancellation. Desired cancellation date for carrier review."New value: +"Date the shopper wants a policy_cancellation to take effect. The carrier reviews it and may approve a different date."
  12. 23 tool updates
    • First observedauto_estimates
    • First observedcollision_and_comprehensive_coverage
    • First observedconsumer_intake_issues
    • First observedconsumer_intake_patch
    • First observeddocs_get_resource
    • First observeddocs_list_topics
    • First observeddocs_search
    • First observedfile_a_claim
    • First observedhome_calculator
    • First observedhomeowners_agent_finder
    • First observedhomeowners_consumer_bind
    • First observedhomeowners_consumer_policy
    • First observedhomeowners_consumer_prefill
    • First observedhomeowners_consumer_select
    • First observedhomeowners_consumer_service
    • First observedumbrella_calculator
    • First observedumbrella_consumer_attach
    • First observedumbrella_consumer_bind
    • First observedumbrella_consumer_payment
    • First observedumbrella_consumer_policy
    • First observedumbrella_consumer_prefill
    • First observedumbrella_consumer_select
    • First observedumbrella_consumer_service

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables management of insurance claims, inspections, and contractors through interactive UI widgets and data tools. Users can view claim dashboards, update statuses, and query service provider information using natural language.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to get real home & auto insurance quotes and start binding through a network of licensed independent agencies.
    2
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources