{
  "openapi": "3.1.0",
  "info": {
    "title": "ToolMint NWS Alerts JSON",
    "version": "0.1.0",
    "description": "Active US National Weather Service alerts as clean JSON for AI agents. Pay per call with USDC on Base via x402.",
    "x-guidance": "Use GET /alerts/area/{area} for a US state code (e.g. TX). Use GET /alerts/point?lat=&lon= for a location. Use GET /alerts?area=TX as an alternate. Unpaid calls receive HTTP 402 with x402 payment requirements (USDC on Base). Free: /, /health, /openapi.json, /.well-known/x402.",
    "contact": {
      "email": "toolmint.dev@gmail.com",
      "name": "ToolMint",
      "url": "https://toolmint.toolmint.workers.dev"
    },
    "x-homepage": "https://toolmint.toolmint.workers.dev"
  },
  "paths": {
    "/health": {
      "get": {
        "operationId": "health",
        "summary": "Liveness",
        "security": [],
        "responses": {
          "200": {
            "description": "ok"
          }
        }
      }
    },
    "/alerts": {
      "get": {
        "operationId": "nws_alerts_query",
        "summary": "Active NWS alerts by area or point query params",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "payTo": "0xfbF7413bcB3a604936775C96FDbe0b0C9c9E37F5",
          "asset": "USDC",
          "scheme": "exact",
          "amountAtomic": "5000"
        },
        "parameters": [
          {
            "name": "area",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "US state/territory 2-letter code"
          },
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Alert list JSON"
          },
          "402": {
            "description": "Payment Required"
          }
        }
      }
    },
    "/alerts/area/{area}": {
      "get": {
        "operationId": "nws_alerts_area",
        "summary": "Active NWS alerts for a US area/state code",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "payTo": "0xfbF7413bcB3a604936775C96FDbe0b0C9c9E37F5",
          "asset": "USDC",
          "scheme": "exact",
          "amountAtomic": "5000"
        },
        "parameters": [
          {
            "name": "area",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "2-letter state/territory, e.g. TX"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Alert list JSON"
          },
          "402": {
            "description": "Payment Required"
          }
        }
      }
    },
    "/alerts/point": {
      "get": {
        "operationId": "nws_alerts_point",
        "summary": "Active NWS alerts near lat/lon",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "payTo": "0xfbF7413bcB3a604936775C96FDbe0b0C9c9E37F5",
          "asset": "USDC",
          "scheme": "exact",
          "amountAtomic": "5000"
        },
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Alert list JSON"
          },
          "402": {
            "description": "Payment Required"
          }
        }
      }
    },
    "/alerts/types": {
      "get": {
        "operationId": "nws_alert_types",
        "summary": "NWS alert event type catalog",
        "x-payment-info": {
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.005000"
          },
          "protocols": [
            {
              "x402": {}
            }
          ],
          "network": "eip155:8453",
          "payTo": "0xfbF7413bcB3a604936775C96FDbe0b0C9c9E37F5",
          "asset": "USDC",
          "scheme": "exact",
          "amountAtomic": "5000"
        },
        "responses": {
          "200": {
            "description": "Types JSON"
          },
          "402": {
            "description": "Payment Required"
          }
        }
      }
    }
  }
}