{
  "openapi": "3.1.0",
  "info": {
    "title": "InsurePulse API",
    "description": "AI-synthesized insurance intelligence. Auto coverage analysis, life insurance needs calculator, homeowners gap finder, annual coverage review, and renters insurance guidance. All endpoints require x402 payment (USDC on Base mainnet) via the PAYMENT-SIGNATURE header.",
    "version": "1.1.0",
    "contact": {
      "url": "https://insurepulse.theaslangroupllc.com"
    }
  },
  "servers": [
    {
      "url": "https://insurepulse.theaslangroupllc.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "x402": {
        "type": "apiKey",
        "in": "header",
        "name": "PAYMENT-SIGNATURE",
        "description": "x402 payment signature. Send a GET request without this header to receive a 402 with payment requirements in the PAYMENT-REQUIRED header. Sign and retry."
      }
    }
  },
  "security": [
    {
      "x402": []
    }
  ],
  "paths": {
    "/api/insure/auto": {
      "get": {
        "summary": "Auto insurance analysis",
        "description": "Analyzes an auto insurance profile for coverage adequacy, identifies savings opportunities (bundling, telematics, good driver discounts), and recommends carriers based on NAIC complaint ratios and market rates.",
        "operationId": "insureAuto",
        "parameters": [
          {
            "name": "profile",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Driver profile description (e.g. 'clean record 10 years, married, homeowner')"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "State of registration (e.g. 'Texas', 'CA')"
          },
          {
            "name": "vehicle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Vehicle description (e.g. '2020 Toyota Camry')"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Auto insurance analysis"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.1,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/life": {
      "get": {
        "summary": "Life insurance needs calculator",
        "description": "Calculates life insurance coverage needs using the DIME method (Debt + Income \u00d7 years + Mortgage + Education). Compares term vs permanent policies, recommends term length, and provides carrier guidance.",
        "operationId": "insureLife",
        "parameters": [
          {
            "name": "age",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Applicant age"
          },
          {
            "name": "income",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Annual gross income in USD"
          },
          {
            "name": "dependents",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Number of financial dependents"
          },
          {
            "name": "mortgage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Remaining mortgage balance in USD"
          },
          {
            "name": "debt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Other debt (student loans, auto, credit card) in USD"
          },
          {
            "name": "situation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Life situation description (e.g. 'married, 2 kids, dual income')"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Life insurance needs analysis"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.1,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/home": {
      "get": {
        "summary": "Homeowners insurance gap analysis",
        "description": "Analyzes HO-3 coverage adequacy: dwelling replacement cost vs. current coverage, flood and earthquake exposure, missing endorsements (jewelry, sewer backup, equipment breakdown), and liability limits. Compares carriers.",
        "operationId": "insureHome",
        "parameters": [
          {
            "name": "location",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "City and state (e.g. 'Austin TX')"
          },
          {
            "name": "value",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Home value or purchase price in USD"
          },
          {
            "name": "sqft",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "description": "Square footage"
          },
          {
            "name": "current_coverage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Current dwelling coverage amount in USD"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Homeowners insurance analysis"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.1,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/review": {
      "get": {
        "summary": "Annual insurance coverage review",
        "description": "Comprehensive insurance review covering inflation erosion of coverage limits, life stage triggers requiring policy updates, coverage gaps, overpayment areas, and bundling savings opportunities. Global: pass country for non-US norms and benchmark anchors.",
        "operationId": "insureReview",
        "parameters": [
          {
            "name": "policies",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Current policies held (e.g. 'auto,home,life,umbrella')"
          },
          {
            "name": "life_stage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Recent life events (e.g. 'new baby', 'home purchase', 'retirement')"
          },
          {
            "name": "net_worth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Estimated net worth (in local currency) for umbrella/liability sizing"
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ISO country code (e.g. US, UK, DE, CA, AU) \u2014 tailors norms and benchmark anchors. Default US."
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Insurance review report"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.15,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/renters": {
      "get": {
        "summary": "Renters insurance guide",
        "description": "Calculates recommended renters insurance coverage amounts, identifies common gaps (undervalued property, jewelry sublimits, roommate coverage), recommends umbrella policy when net worth warrants it, and compares carriers.",
        "operationId": "insureRenters",
        "parameters": [
          {
            "name": "zip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "ZIP code for rate context"
          },
          {
            "name": "value",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Estimated personal property value in USD"
          },
          {
            "name": "dog",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "description": "Whether tenant has a dog (affects liability)"
          },
          {
            "name": "net_worth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "number"
            },
            "description": "Estimated net worth in USD"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Renters insurance guidance"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.08,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/business": {
      "get": {
        "summary": "Business insurance guidance",
        "description": "Returns exactly which policies a small business needs (GL, BOP, professional liability, workers comp), cost estimates, and where to get them.",
        "operationId": "insureBusiness",
        "parameters": [
          {
            "name": "business_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Business type (e.g. consulting, retail, contractor)"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "State (e.g. Texas, CA)"
          },
          {
            "name": "employees",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Employee count"
          },
          {
            "name": "revenue",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Annual revenue USD"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Business insurance guidance"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.1,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/claim": {
      "get": {
        "summary": "Insurance claims guidance",
        "description": "Answers whether to file given premium-impact analysis, with a documentation checklist and adjuster-negotiation tips.",
        "operationId": "insureClaim",
        "parameters": [
          {
            "name": "insurance_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Insurance type (auto, home, renters)"
          },
          {
            "name": "situation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "What happened"
          },
          {
            "name": "damage_estimate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Estimated damage USD"
          },
          {
            "name": "deductible",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Policy deductible USD"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Insurance claims guidance"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.08,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/disability": {
      "get": {
        "summary": "Disability insurance analysis",
        "description": "Needs calculator, key policy features, and carrier recommendations for the most underinsured risk in America.",
        "operationId": "insureDisability",
        "parameters": [
          {
            "name": "occupation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Occupation"
          },
          {
            "name": "income",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Annual income USD"
          },
          {
            "name": "employer_ltd",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Existing employer long-term disability (yes/no/details)"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Disability insurance analysis"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.1,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/life-event": {
      "get": {
        "summary": "Life-event insurance checklist",
        "description": "Prioritized coverage to-do list triggered by marriage, a new baby, a home purchase, divorce, or any major life change.",
        "operationId": "insureLifeEvent",
        "parameters": [
          {
            "name": "event",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Life event (marriage, baby, home-purchase, divorce)"
          },
          {
            "name": "details",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Additional context"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Life-event insurance checklist"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.1,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/rate": {
      "get": {
        "summary": "Insurance rate optimizer",
        "description": "Explains why a policy is expensive and exactly how to lower it: discounts, deductible moves, and carrier switches.",
        "operationId": "insureRate",
        "parameters": [
          {
            "name": "insurance_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Insurance type (auto, home, etc.)"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "State"
          },
          {
            "name": "current_premium",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Current premium USD"
          },
          {
            "name": "profile",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Policyholder profile"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Insurance rate optimizer"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.08,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/umbrella": {
      "get": {
        "summary": "Umbrella insurance analysis",
        "description": "Whether a household needs umbrella coverage, how much, what it covers, and how to add it for $150-300 a year.",
        "operationId": "insureUmbrella",
        "parameters": [
          {
            "name": "net_worth",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Net worth USD"
          },
          {
            "name": "owns_home",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Owns home (yes/no)"
          },
          {
            "name": "teen_drivers",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Teen drivers (yes/no)"
          },
          {
            "name": "rental_property",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Owns rental property (yes/no)"
          },
          {
            "name": "situation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Additional context"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Umbrella insurance analysis"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.08,
        "x-agent-use-case": "on-demand"
      }
    },
    "/api/insure/health": {
      "get": {
        "summary": "Health insurance explained",
        "description": "Global health/medical insurance advisor \u2014 how public/private coverage works in the user's country, situation-based implications, indicative premium estimates, decision framework, common pitfalls, and enrollment channels (names only, no quotes generated).",
        "operationId": "insureHealth",
        "parameters": [
          {
            "name": "country",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Country (e.g. US, UK, DE, IN, BR)"
          },
          {
            "name": "situation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "employed/self-employed/student/retiree/expat/family"
          },
          {
            "name": "age_range",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Age range (e.g. 25-34)"
          },
          {
            "name": "priorities",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "cost/coverage/dental/maternity/chronic"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Health insurance guidance"
          },
          "402": {
            "description": "Payment required"
          }
        },
        "x-price-usd": 0.15,
        "x-agent-use-case": "on-demand"
      }
    }
  }
}
