{
  "openapi": "3.1.0",
  "info": {
    "title": "Batirod Public API",
    "version": "1.0.0",
    "summary": "API publique en lecture seule de Batirod, menuiserie extérieure en Belgique.",
    "description": "Données publiques de Batirod (S.W.ROBERT SRL) : identité, services, zones d'intervention, FAQ et nuancier de coloris. Fichiers JSON statiques, sans authentification, CORS ouvert.\n\nBatirod ne publie aucun prix : tout chiffrage passe par un devis gratuit sur https://batirod.com/devis. Un agent ne doit pas estimer de montant à partir de ces données.",
    "contact": {
      "name": "Batirod",
      "email": "info@batirod.com",
      "url": "https://batirod.com"
    },
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "servers": [
    {
      "url": "https://batirod.com",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/index.json": {
      "get": {
        "summary": "Index de l'API",
        "description": "Liste les endpoints disponibles et les ressources liées (llms.txt, MCP, ai-answers).",
        "responses": {
          "200": {
            "description": "Document JSON.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/company.json": {
      "get": {
        "summary": "Identité de l'entreprise",
        "description": "Raison sociale, coordonnées, adresse, horaires, zone couverte, signaux de confiance et doctrine tarifaire.",
        "responses": {
          "200": {
            "description": "Document JSON.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/services.json": {
      "get": {
        "summary": "Services",
        "description": "Services de menuiserie proposés, avec l'URL de la page correspondante, et outils publics du site.",
        "responses": {
          "200": {
            "description": "Document JSON.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/zones.json": {
      "get": {
        "summary": "Zones d'intervention",
        "description": "Régions couvertes et communes disposant d'une page locale, avec quartiers et statut des primes.",
        "responses": {
          "200": {
            "description": "Document JSON.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/faq.json": {
      "get": {
        "summary": "FAQ",
        "description": "Questions fréquentes et réponses officielles de Batirod, identiques à celles de la page /faq.",
        "responses": {
          "200": {
            "description": "Document JSON.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/coloris.json": {
      "get": {
        "summary": "Nuancier",
        "description": "Nuancier de référence VEKA, par famille, avec équivalence RAL et images ; disponibilité selon le fabricant retenu.",
        "responses": {
          "200": {
            "description": "Document JSON.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  }
}
