{
  "openapi": "3.1.0",
  "info": {
    "title": "Manisa Tecnologia Agent API",
    "version": "1.2.0",
    "description": "Structured endpoints that expose Manisa Tecnologia services, products, contact details, agent discovery metadata, and the contact submission route."
  },
  "servers": [
    {
      "url": "https://www.manisatecnologia.com.br"
    }
  ],
  "paths": {
    "/api/agent/manifest": {
      "get": {
        "summary": "Get the agent-readable capability manifest",
        "operationId": "getAgentManifest",
        "responses": {
          "200": {
            "description": "Structured manifest for AI agents"
          }
        }
      }
    },
    "/api/agent/services": {
      "get": {
        "summary": "Get the Manisa service catalog",
        "operationId": "getAgentServices",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": ["pt", "en"],
              "default": "pt"
            },
            "description": "Locale for the returned service copy."
          }
        ],
        "responses": {
          "200": {
            "description": "Localized service catalog"
          }
        }
      }
    },
    "/api/agent/products": {
      "get": {
        "summary": "Get the Manisa product catalog",
        "operationId": "getAgentProducts",
        "parameters": [
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": ["pt", "en"],
              "default": "pt"
            },
            "description": "Locale for the returned product copy."
          }
        ],
        "responses": {
          "200": {
            "description": "Localized product catalog"
          }
        }
      }
    },
    "/api/agent/query": {
      "get": {
        "summary": "Search the Manisa catalog for agents",
        "operationId": "queryAgentCatalog",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Natural-language query. When omitted, the endpoint returns browse guidance and example queries."
          },
          {
            "name": "locale",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": ["pt", "en"],
              "default": "pt"
            },
            "description": "Locale for returned copy."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "service,product"
            },
            "description": "Optional comma-separated result types. Supported values: service, product, subsystem, contact."
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20,
              "default": 8
            },
            "description": "Maximum number of results to return."
          }
        ],
        "responses": {
          "200": {
            "description": "Structured query results plus browse guidance and applied filters"
          }
        }
      }
    },
    "/api/agent/contact": {
      "get": {
        "summary": "Get contact details for Manisa Tecnologia",
        "operationId": "getAgentContact",
        "responses": {
          "200": {
            "description": "Available contact channels and related endpoints"
          }
        }
      }
    },
    "/api/contact": {
      "post": {
        "summary": "Submit the website contact form",
        "operationId": "submitContactForm",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": ["name", "email", "message"],
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "company": {
                    "type": "string"
                  },
                  "message": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Submission accepted"
          },
          "400": {
            "description": "Validation error"
          },
          "500": {
            "description": "Delivery or server error"
          }
        }
      }
    }
  }
}
