{
  "openapi": "3.1.0",
  "info": {
    "title": "API informativa de Comunicar Más",
    "version": "1.0.0",
    "description": "API pública, gratuita, sin registro y de solo lectura para consultar servicios, contacto, política de valores y límites de seguridad de Comunicar Más. Acceso inmediato: no requiere registro, clave de API ni datos de facturación (Free tier with immediate access; no signup, no API key or billing details required). No diagnostica, no recibe datos clínicos y no agenda citas. Política de deprecación (Deprecation policy): https://www.comunicarmas.cl/api-policy."
  },
  "externalDocs": {
    "description": "Documentación y política de versionado y deprecación (Deprecation policy)",
    "url": "https://www.comunicarmas.cl/api-policy"
  },
  "x-onboarding": "Free tier with immediate access; no signup, no registration, no API key or billing details required. Public read-only access.",
  "x-version-policy": "https://www.comunicarmas.cl/api-policy",
  "x-deprecation-policy": {
    "url": "https://www.comunicarmas.cl/api-policy",
    "currentVersion": "v1",
    "status": "active-not-deprecated",
    "minimumNotice": "P6M"
  },
  "security": [],
  "servers": [
    {
      "url": "https://www.comunicarmas.cl",
      "description": "Producción"
    }
  ],
  "paths": {
    "/api/v1/info": {
      "get": {
        "operationId": "getOfficialComunicarMasInfo",
        "summary": "Consultar información oficial de Comunicar Más",
        "description": "Devuelve información pública sobre servicios, contacto, valores y límites clínicos en español de Chile.",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Sección de información que se desea consultar.",
            "schema": {
              "type": "string",
              "enum": ["todo", "servicios", "contacto", "valores"],
              "default": "todo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Información oficial recuperada.",
            "headers": {
              "Link": {
                "description": "Enlace a la política de versionado y deprecación.",
                "schema": { "type": "string" }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InformationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Categoría inválida.",
            "headers": {
              "Link": {
                "description": "Enlace a la política de versionado y deprecación.",
                "schema": { "type": "string" }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Método HTTP no permitido.",
            "headers": {
              "Link": {
                "description": "Enlace a la política de versionado y deprecación.",
                "schema": { "type": "string" }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "InformationResponse": {
        "type": "object",
        "required": ["data", "meta"],
        "properties": {
          "data": {
            "type": "object",
            "description": "Información pública filtrada según la categoría solicitada."
          },
          "meta": {
            "type": "object",
            "required": ["category", "apiVersion", "language", "source", "updatedAt"],
            "properties": {
              "category": { "type": "string" },
              "apiVersion": { "type": "string", "const": "v1" },
              "language": { "type": "string", "const": "es-CL" },
              "source": { "type": "string", "format": "uri" },
              "updatedAt": { "type": "string", "format": "date" }
            }
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "required": ["error"],
        "properties": {
          "error": {
            "type": "object",
            "required": ["code", "message", "resolution"],
            "properties": {
              "code": { "type": "string" },
              "message": { "type": "string" },
              "resolution": { "type": "string" }
            }
          }
        }
      }
    }
  }
}
