{
  "openapi": "3.1.0",
  "info": {
    "title": "Lucas Gil Films — informações públicas",
    "version": "1.0.0",
    "description": "Consulta de identidade, serviços, portfólio e contato. Somente leitura; não envia mensagens nem realiza reservas ou pagamentos.",
    "contact": {
      "name": "Lucas Gil Henriques",
      "email": "contato@lucasgilfilms.com",
      "url": "https://lucasgilfilms.com/contact/"
    }
  },
  "servers": [
    {
      "url": "https://lucasgilfilms.com"
    }
  ],
  "security": [],
  "paths": {
    "/api/site.json": {
      "get": {
        "operationId": "getPortfolioInformation",
        "summary": "Consultar serviços, portfólio e contato",
        "description": "Retorna o conteúdo público do portfólio, sem autenticação. Valores e disponibilidade dependem de confirmação direta.",
        "responses": {
          "200": {
            "description": "Informações públicas do site",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortfolioInformation"
                }
              }
            }
          },
          "405": {
            "description": "Método não permitido; use GET ou HEAD."
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PortfolioInformation": {
        "type": "object",
        "required": [
          "name",
          "personName",
          "description",
          "url",
          "location",
          "profiles",
          "services",
          "portfolio",
          "contact"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "personName": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "location": {
            "type": "string"
          },
          "profiles": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "description"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "portfolio": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "title",
                "category",
                "description",
                "url",
                "films"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "category": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "films": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "title",
                      "duration",
                      "poster"
                    ],
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "duration": {
                        "type": "string"
                      },
                      "poster": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "contact": {
            "type": "object",
            "required": [
              "email",
              "telephone",
              "whatsapp",
              "contactPage",
              "brief",
              "nextStep",
              "pricing"
            ],
            "properties": {
              "email": {
                "type": "string"
              },
              "telephone": {
                "type": "string"
              },
              "whatsapp": {
                "type": "string"
              },
              "contactPage": {
                "type": "string"
              },
              "brief": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "nextStep": {
                "type": "string"
              },
              "pricing": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    }
  }
}
