{
  "openapi": "3.1.0",
  "info": {
    "title": "Blossomator Revenue Diagnostic",
    "version": "1.0.0",
    "description": "Public, read-only business information and diagnostic assessment. No enquiry submission and no answer persistence."
  },
  "servers": [
    {
      "url": "https://www.blossomator.com"
    }
  ],
  "paths": {
    "/business.json": {
      "get": {
        "operationId": "getBusinessInformation",
        "summary": "Retrieve Blossomator capabilities and contact information",
        "responses": {
          "200": {
            "description": "Business catalogue"
          }
        }
      }
    },
    "/api/diagnostic/model": {
      "get": {
        "operationId": "getRevenueDiagnosticModel",
        "summary": "Retrieve seven questions, answer options and four starting offers",
        "responses": {
          "200": {
            "description": "Diagnostic model"
          }
        }
      }
    },
    "/api/diagnostic/evaluate": {
      "get": {
        "operationId": "evaluateRevenueDiagnostic",
        "summary": "Evaluate only the answers explicitly supplied by the visitor",
        "parameters": [
          {
            "in": "query",
            "name": "answers",
            "required": true,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "minItems": 7,
                  "maxItems": 7,
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "enum": [
                      0,
                      1,
                      2,
                      3,
                      null
                    ]
                  }
                },
                "example": [
                  0,
                  0,
                  3,
                  0,
                  0,
                  0,
                  0
                ]
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Suggested starting offer, evidence gaps, uncertainty flags and brief. No enquiry submitted."
          },
          "400": {
            "description": "Invalid or incomplete answers"
          },
          "405": {
            "description": "Only GET is allowed"
          }
        }
      }
    }
  }
}
