{
  "openapi": "3.1.0",
  "info": {
    "title": "ToolMint Property Pack JSON",
    "version": "0.1.0",
    "description": "US address -> hazards (FEMA flood zone, NWS alerts, USGS quakes), HUD Fair Market Rents + Income Limits, ACS demographics, in one call. Pay per call with USDC on Base via x402. Informational only.",
    "x-guidance": "GET /property?address=<US one-line address> or ?lat=&lon=. summary{} has the headline numbers; hazards/housing/demographics hold the full sections with provenance. Unpaid calls get HTTP 402 (x402, USDC on Base). 4xx/5xx are not charged. Free: /, /health, /openapi.json, /.well-known/x402.",
    "contact": {
      "email": "toolmint.dev@gmail.com",
      "name": "ToolMint"
    }
  },
  "paths": {
    "/health": {
      "get": {
        "operationId": "health",
        "summary": "Liveness",
        "security": [],
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/property": {
      "get": {
        "operationId": "property_pack",
        "summary": "Property pack for one US address or point",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.060000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "payTo": "0xfbF7413bcB3a604936775C96FDbe0b0C9c9E37F5",
          "asset": "USDC",
          "scheme": "exact",
          "amountAtomic": "60000"
        },
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": -90,
              "maximum": 90
            }
          },
          {
            "name": "lon",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": -180,
              "maximum": 180
            }
          }
        ],
        "responses": {
          "200": {
            "description": "summary + hazards + housing + demographics + warnings"
          },
          "400": {
            "description": "Bad parameters (not charged)"
          },
          "402": {
            "description": "Payment Required"
          },
          "404": {
            "description": "No US address match or no county (not charged)"
          },
          "502": {
            "description": "Hazard upstream unavailable (not charged)"
          },
          "503": {
            "description": "HUD and ACS both unavailable, or not configured (not charged)"
          }
        }
      }
    }
  }
}