{
  "openapi": "3.1.0",
  "info": {
    "title": "Brody Luxe Public Knowledge API",
    "version": "1.0.0",
    "description": "Read-only public endpoints exposing factual Brody Luxe business information and a list of first-party knowledge resources. No authentication, no write operations, no user data.",
    "contact": {
      "name": "Brody Luxe",
      "url": "https://brodyluxe.com",
      "email": "Brodyluxe@hotmail.com"
    }
  },
  "servers": [
    {
      "url": "https://brodyluxe.com"
    }
  ],
  "paths": {
    "/api/public/brody-luxe": {
      "get": {
        "summary": "Brody Luxe business facts",
        "description": "Verified business name, canonical website, service area, contact, core services and fixed pricing, optional second performer, request-based booking model, independence statement, official profiles and canonical knowledge URLs.",
        "operationId": "getBrodyLuxeFacts",
        "responses": {
          "200": {
            "description": "Business facts document.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/knowledge-index": {
      "get": {
        "summary": "First-party knowledge resource index",
        "description": "List of canonical public knowledge resources (HTML pages, plain-text mirrors and JSON feeds) with title, URL, type and last_updated.",
        "operationId": "getKnowledgeIndex",
        "responses": {
          "200": {
            "description": "Knowledge resource index.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/planning": {
      "get": {
        "summary": "Planning & availability expectations",
        "description": "Fixed, first-party facts about the request-based booking model, same-day handling, advance-planning guidance, helpful request details, property permission responsibility, and explicit non-guarantees. No availability calendar, no live data, no promises.",
        "operationId": "getPlanningExpectations",
        "responses": {
          "200": {
            "description": "Planning expectations document.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/intent-graph": {
      "get": {
        "summary": "Local intent graph",
        "description": "First-party graph connecting occasion, group size, location type, timing, service option, fixed price, availability expectation and booking action, plus example combinations. Examples only — no availability data, recommendations, quotes or affiliations.",
        "operationId": "getIntentGraph",
        "responses": {
          "200": {
            "description": "Intent graph document.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/service-capability": {
      "get": {
        "summary": "Service capability description",
        "description": "Single canonical description of what Brody Luxe offers and how a request is evaluated: identity, service area, occasion types, the two fixed-price private performance options, the optional second performer, the request-based booking model, required request information, same-day handling, explicit limits (no online checkout, no guaranteed availability, no property permission, separately confirmed third-party revue access) and canonical action URLs. Descriptive first-party information only — no availability data and no write operations.",
        "operationId": "getServiceCapability",
        "responses": {
          "200": {
            "description": "Service capability document.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/distribution-product": {
      "get": {
        "summary": "Supplier distribution product packet",
        "description": "Generic, read-only supplier data packet for approved partners to map into their own schema: operator, the Las Vegas Private Luxury Performance product and its two fixed-group-price options (30 minutes $500 USD, 60 minutes $1,000 USD) with option landing URLs, request-based booking semantics, published booking policy, property-permission caveat, service boundaries, public media and source URLs. Not a certified feed for any search engine or marketplace; no real-time availability or instant booking.",
        "operationId": "getDistributionProduct",
        "responses": {
          "200": {
            "description": "Supplier distribution packet.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/fact-provenance": {
      "get": {
        "summary": "Fact provenance manifest",
        "description": "Maps each verified Brody Luxe fact to a stable fact id, category, concise statement, value, the canonical first-party source page(s) that state it, and the last-updated date of the primary source. Descriptive record only — no confidence scores and no claim about third-party consumption.",
        "operationId": "getFactProvenance",
        "responses": {
          "200": {
            "description": "Fact provenance manifest.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/entity-summary": {
      "get": {
        "summary": "Canonical entity summary",
        "description": "Compact canonical identity record: business entity id, website id, brand id, non-sensitive internal site identifier, name, canonical URL, disambiguating description, service area, contact email, logo and image URLs, primary profile page, facts and provenance URLs, verified owned profile URLs and the fixed-price core services. No confidence or trust scores.",
        "operationId": "getEntitySummary",
        "responses": {
          "200": {
            "description": "Canonical entity summary document.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/answers": {
      "get": {
        "summary": "Curated first-party answer lookup",
        "description": "Deterministic topic lookup over a small set of curated, fixed-text Brody Luxe answers. Pass a 'q' query parameter (2–300 characters); returns the best matching answer with its canonical page, or matched:false. Without 'q', returns the list of available topics. No model calls, no generated claims, no user data.",
        "operationId": "getCuratedAnswer",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 2,
              "maxLength": 300
            },
            "description": "Natural-language question, e.g. 'How much does a private performance cost?'"
          }
        ],
        "responses": {
          "200": {
            "description": "Curated answer or topic list.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/openapi.json": {
      "get": {
        "summary": "This OpenAPI description",
        "operationId": "getOpenApiDocument",
        "responses": {
          "200": {
            "description": "OpenAPI 3.1 document.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {}
  },
  "security": []
}