{
  "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 audit, 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.vercel.app"
    }
  },
  "servers": [
    {
      "url": "https://insurepulse.vercel.app"
    }
  ],
  "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/audit": {
      "get": {
        "summary": "Annual insurance coverage audit",
        "description": "Comprehensive insurance audit covering inflation erosion of coverage limits, life stage triggers requiring policy updates, coverage gaps, overpayment areas, and bundling savings opportunities.",
        "operationId": "insureAudit",
        "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 USD (for umbrella/liability sizing)"
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Response language"
          }
        ],
        "responses": {
          "200": {
            "description": "Insurance audit 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"
      }
    }
  }
}
