lassie.co
Djurförsäkring
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 2 · Act 2 · Transact 0 · Score: Not yet scored
Tool inspector
lassie-quote
Get a pet insurance quote from Lassie. Use when a user wants to insure their dog or cat, get a price quote, or learn about Lassie insurance packages. This tool runs a multi-step flow. Each call returns the flow's current status, the data for that step, and a `nextStep` field describing what the following call contains.
Page: /
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
action |
string | yes | "start" to begin the flow, "continue" to resume after a pause (interrupt or widget), "reset" to restart from the beginning with a correction to a previously-collected field |
intent |
string | no | Required when action is "start". A brief summary of the user's goal for this flow, taken from what the user said rather than inferred. |
context |
string | no | Optional when action is "start". The situation that led the user here — the page they are on, what they were doing, or what triggered the request. Omitted when there is nothing genuinely relevant to report. |
stateUpdates |
object | no | State field values to set before processing the next node: the user's answer keyed by the `field` from the response, plus any other values the user stated. Fields already filled here are skipped by the engine. For nested state fields, use dot-paths like "driver.name". |
sessionId |
string | no | Session identifier. If the response includes a `sessionId`, pass it back on every subsequent "continue" and "reset" call for this flow. |
Raw JSON schema
{
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"start",
"continue",
"reset"
],
"description": "\"start\" to begin the flow, \"continue\" to resume after a pause (interrupt or widget), \"reset\" to restart from the beginning with a correction to a previously-collected field"
},
"intent": {
"description": "Required when action is \"start\". A brief summary of the user's goal for this flow, taken from what the user said rather than inferred.",
"type": "string"
},
"context": {
"description": "Optional when action is \"start\". The situation that led the user here — the page they are on, what they were doing, or what triggered the request. Omitted when there is nothing genuinely relevant to report.",
"type": "string"
},
"stateUpdates": {
"description": "State field values to set before processing the next node: the user's answer keyed by the `field` from the response, plus any other values the user stated. Fields already filled here are skipped by the engine. For nested state fields, use dot-paths like \"driver.name\".",
"type": "object",
"properties": {
"locale": {
"type": "string",
"enum": [
"sv",
"en",
"fr",
"de"
],
"description": "The user's language: sv for Swedish, en for English, fr for French, de for German. Must be filled in at the beginning of the conversation based on the language the user writes in. Defaults to English (en)."
},
"country": {
"type": "string",
"enum": [
"SWE",
"FRA",
"GER",
"OTHER"
],
"description": "The country where the pet owner lives. SWE=Sweden, FRA=France, GER=Germany, OTHER=unsupported country. Extract from context clues (e.g. Swedish city → SWE, German city → GER) or ask if unclear."
},
"insuranceType": {
"description": "The type of insurance: 'health' for pet health/surgery insurance, 'liability' for dog liability insurance. Only relevant for Germany.",
"type": "string",
"enum": [
"health",
"liability"
]
},
"isCurrentlyInsured": {
"type": "string",
"enum": [
"yes",
"no"
],
"description": "Whether the pet is currently insured"
},
"animalType": {
"type": "string",
"enum": [
"dog",
"cat"
],
"description": "Type of animal: dog or cat. Do a best effort to infer it from the breed if possible."
},
"petName": {
"type": "string",
"description": "The pet's name"
},
"isMixedBreed": {
"description": "Whether the pet is a mixed breed. Set to true when the user mentions a mix, crossbreed, or multiple breeds. IMPORTANT: when setting isMixedBreed to true, you MUST also set mixedBreed to {} (empty object) in the same stateUpdates — unless the user explicitly named breeds, in which case populate breed1/breed2 and set knowsBreeds: true.",
"type": "boolean"
},
"breed": {
"type": "string",
"description": "The pet's breed in the language the user used (e.g. \"Deutscher Schäferhund\" not \"German Shepherd\", \"Berger Allemand\" not \"German Shepherd\"). Leave empty when isMixedBreed is true."
},
"breedId": {
"type": "string",
"description": "The resolved breed ID from the Lassie API (e.g. DogBreed-labrador-retriever)"
},
"mixedBreed": {
"description": "MUST be set whenever isMixedBreed is true. If the user only said 'mixed breed' or 'mutt' without naming breeds, set mixedBreed to {} (empty object — do NOT set knowsBreeds). Only set knowsBreeds if the user explicitly named breeds (true) or explicitly said they don't know (false). Example: 'Golden Retriever / Lab mix' → { knowsBreeds: true, breed1: 'Golden Retriever', breed2: 'Labrador Retriever' }.",
"type": "object",
"properties": {
"knowsBreeds": {
"type": "boolean",
"description": "Set ONLY when explicitly answered: true if the user named at least one breed, false if they explicitly said they don't know the breeds. Do NOT infer this from absence of breed names — leave it unset if the user hasn't been asked yet."
},
"breed1": {
"description": "First breed name in the mix (e.g. 'Golden Retriever')",
"type": "string"
},
"breed1Id": {
"description": "First breed API ID in the mix — set by the system, not by the user",
"type": "string"
},
"breed2": {
"description": "Second breed name in the mix (e.g. 'Labrador Retriever') — optional, user may only know one breed",
"type": "string"
},
"breed2Id": {
"description": "Second breed API ID in the mix — set by the system, not by the user",
"type": "string"
},
"weight": {
"description": "Dog weight category (only for Germany, when breeds are unknown). weight_0_10 = 0-10 kg, weight_10_20 = 10-20 kg, weight_20_30 = 20-30 kg, weight_30_plus = 30+ kg",
"type": "string",
"enum": [
"weight_0_10",
"weight_10_20",
"weight_20_30",
"weight_30_plus"
]
},
"height": {
"description": "Dog shoulder height category (only for Germany, when breeds are unknown). height_0_45 = under 45 cm, height_45_plus = 45 cm or larger",
"type": "string",
"enum": [
"height_0_45",
"height_45_plus"
]
}
},
"required": [
"knowsBreeds"
]
},
"gender": {
"type": "string",
"enum": [
"male",
"female"
],
"description": "The pet's gender. IMPORTANT: Always infer from pronouns — \"he\", \"he's\", \"him\", \"his\" → male; \"she\", \"she's\", \"her\" → female. Also accept boy/girl."
},
"isNeutered": {
"type": "boolean",
"description": "Whether the pet is neutered/spayed"
},
"birthDate": {
"type": "string",
"description": "The pet's birth date in YYYY-MM-DD format"
},
"indoorOutdoor": {
"description": "CATS ONLY. Whether the cat lives indoors or goes outside. NEVER set this when animalType is 'dog' — leave it undefined. Only ask this question when animalType is 'cat'.",
"type": "string",
"enum": [
"indoor",
"outdoor"
]
},
"ownerBirthdate": {
"description": "The owner's birth date in YYYY-MM-DD format (required for German liability insurance)",
"type": "string"
},
"municipality": {
"type": "string",
"description": "The city or municipality where the owner lives (e.g. Stockholm, Paris, Berlin). This is the human-readable city name."
},
"municipalityCode": {
"description": "The postal/zip code where the owner lives. For France: code postal (e.g. 75001). For Germany: Postleitzahl (e.g. 10115). NOT needed for Sweden — skip it entirely if country is SWE.",
"type": "string"
},
"confirmed": {
"type": "boolean",
"description": "Whether the user confirmed their pet details"
},
"draftId": {
"type": "string",
"description": "The draft ID returned by the Lassie API after creating a quote"
},
"quoteUrl": {
"type": "string",
"description": "The customer-facing quote preview URL"
},
"copay": {
"description": "Variable deductible (copay) as a decimal. Sweden: 0.15 (15%) or 0.25 (25%), default 0.25. Germany: 0 (0%), 0.2 (20%), or 0.4 (40%), default 0.2.",
"type": "number"
},
"deductible": {
"description": "Fixed deductible in minor units. Sweden: 0, 190000 (1,900 SEK), or 350000 (3,500 SEK), default 350000. Germany: always 0.",
"type": "number"
},
"limit": {
"description": "Coverage limit in minor units. Sweden: Bronze 3000000, Silver 6000000/9000000/12000000, Gold 16000000, default 6000000. Germany: default 100000 (€1,000).",
"type": "number"
},
"pricingAction": {
"type": "string",
"enum": [
"adjust",
"done"
],
"description": "Set to 'adjust' when the user wants to change deductible or copay and see updated pricing. Set to 'done' when the user is satisfied with the pricing."
}
},
"additionalProperties": {}
},
"sessionId": {
"description": "Session identifier. If the response includes a `sessionId`, pass it back on every subsequent \"continue\" and \"reset\" call for this flow.",
"type": "string"
}
},
"required": [
"action"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}
Similar websites
bahi.naklitechie.com
Double-entry books for an Indian business in one browser tab: invoices, GST returns, TDS and TCS, inventory and your CA's review, kept in one file on your own d…
dashboard.orderly.network
Orderly dashboard
fin-esse-beta.vercel.app
A WebMCP-powered financial planning workspace where you and an AI agent reason across your loans, portfolio, budget and goals together.
bankgraph.app
Investigate individual U.S. banks, the banking system, and economic context with public FDIC filings and direct-agency data.