{
  "openapi": "3.1.0",
  "info": {
    "title": "Wisconsin Tech Solutions quote request API",
    "version": "1.0.0",
    "description": "Submit a quote request to Wisconsin Tech Solutions on behalf of a person, with their permission. A Wisconsin developer replies within one business day."
  },
  "servers": [
    {
      "url": "https://wisconsintechsolutions.com"
    }
  ],
  "paths": {
    "/api/lead": {
      "post": {
        "operationId": "requestQuote",
        "summary": "Submit a quote request",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Person's name"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "company": {
                    "type": "string",
                    "description": "Business name"
                  },
                  "city": {
                    "type": "string",
                    "description": "City or town, usually in Wisconsin"
                  },
                  "industry": {
                    "type": "string",
                    "enum": [
                      "restaurants",
                      "supper-clubs",
                      "breweries-wineries",
                      "cheese-dairy",
                      "farms-orchards",
                      "food-producers",
                      "manufacturing",
                      "contractors",
                      "home-services",
                      "landscaping-snow-removal",
                      "roofing",
                      "automotive",
                      "retail",
                      "real-estate",
                      "property-management",
                      "healthcare",
                      "dental",
                      "wellness",
                      "salons-spas",
                      "fitness",
                      "law-firms",
                      "accounting",
                      "insurance",
                      "nonprofits",
                      "churches",
                      "schools",
                      "childcare",
                      "municipalities",
                      "attractions",
                      "lodging",
                      "campgrounds",
                      "marinas-rentals",
                      "outfitters-guides",
                      "event-venues",
                      "trucking-logistics",
                      "warehousing-3pl",
                      "ecommerce-brands",
                      "wholesale-distributors",
                      "startups",
                      "professional-services",
                      "veterinary-pet",
                      "car-washes-laundromats",
                      "sports-leagues",
                      "printing-signs",
                      "wedding-pros",
                      "photographers-videographers",
                      "political-campaigns",
                      "polling-research",
                      "media-news",
                      "tutoring-training",
                      "studios",
                      "cleaning-services",
                      "moving-hauling",
                      "pest-control",
                      "hoa-associations",
                      "self-storage",
                      "funeral-homes",
                      "senior-care",
                      "counselors-therapists",
                      "coffee-shops-bakeries",
                      "bars-taverns",
                      "food-trucks-catering",
                      "florists-gift-shops",
                      "summer-camps",
                      "golf-recreation",
                      "artists-makers",
                      "musicians-creators",
                      "coaches-consultants",
                      "staffing-agencies",
                      "solar-energy",
                      "cooperatives",
                      "travel-transportation",
                      "powersports-dealers",
                      "engineering-firms",
                      "automation-robotics",
                      "industrial-equipment",
                      "financial-services",
                      "call-centers",
                      "marketing-agencies",
                      "other"
                    ]
                  },
                  "services": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "web-design",
                        "ecommerce",
                        "payments",
                        "kiosks",
                        "shipping-logistics",
                        "ai-integration",
                        "ai-chatbots",
                        "ai-for-business",
                        "custom-software",
                        "industrial-software",
                        "booking-systems",
                        "crm-marketing",
                        "seo",
                        "marketing-design",
                        "hosting",
                        "it-support",
                        "integrations",
                        "mobile-apps",
                        "not-sure"
                      ]
                    }
                  },
                  "budget": {
                    "type": "string"
                  },
                  "timeline": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string",
                    "description": "What they need, in their words"
                  },
                  "source_agent": {
                    "type": "string",
                    "description": "Name of the AI assistant or agent submitting the request"
                  }
                },
                "anyOf": [
                  {
                    "required": [
                      "email"
                    ]
                  },
                  {
                    "required": [
                      "phone"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request received",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Missing contact details"
          },
          "429": {
            "description": "Too many requests"
          }
        }
      }
    },
    "/catalog.json": {
      "get": {
        "operationId": "getCatalog",
        "summary": "Services, prices, industries and locations",
        "responses": {
          "200": {
            "description": "Catalog"
          }
        }
      }
    }
  }
}