{
  "openapi": "3.1.0",
  "info": {
    "title": "Style v10 candidate contracts",
    "version": "10.0.0-candidate.46"
  },
  "servers": [
    {
      "url": "https://tmp.innovacionsantiago.cl/style-v10"
    }
  ],
  "paths": {
    "/manifest.json": {
      "get": {
        "summary": "Obtiene el manifest inmutable del candidato",
        "responses": {
          "200": {
            "description": "Manifest Style",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./schemas/manifest.v1.json"
                }
              }
            }
          }
        }
      }
    },
    "/schemas/manifest.v1.json": {
      "get": {
        "summary": "Obtiene el schema del manifest",
        "responses": {
          "200": {
            "description": "JSON Schema"
          }
        }
      }
    },
    "/schemas/theme.v1.json": {
      "get": {
        "summary": "Obtiene el schema de theme para renderers",
        "responses": {
          "200": {
            "description": "JSON Schema"
          }
        }
      }
    },
    "/schemas/components.v1.json": {
      "get": {
        "summary": "Obtiene el schema del catálogo de componentes",
        "responses": {
          "200": {
            "description": "JSON Schema"
          }
        }
      }
    },
    "/schemas/consumption.v1.json": {
      "get": {
        "summary": "Obtiene el schema de consumo y actualización",
        "responses": {
          "200": {
            "description": "JSON Schema"
          }
        }
      }
    },
    "/themes/cochid.json": {
      "get": {
        "summary": "Obtiene el theme Style para cochid-graphs",
        "responses": {
          "200": {
            "description": "Theme COCHID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./schemas/theme.v1.json"
                }
              }
            }
          }
        }
      }
    },
    "/integrations/documents.v1.json": {
      "get": {
        "summary": "Obtiene el puente hacia el motor documental FYD",
        "responses": {
          "200": {
            "description": "Contrato de integración documental"
          }
        }
      }
    },
    "/kit/componentes/componentes.json": {
      "get": {
        "summary": "Obtiene el catálogo canónico de componentes",
        "responses": {
          "200": {
            "description": "Catálogo Style v10",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./schemas/components.v1.json"
                }
              }
            }
          }
        }
      }
    },
    "/kit/componentes/componentes-observados.json": {
      "get": {
        "summary": "Obtiene el inventario trazable de componentes observados",
        "responses": {
          "200": {
            "description": "Inventario observado en los repositorios CIS, CDS y COCHID"
          }
        }
      }
    },
    "/distribution/consumption.v1.json": {
      "get": {
        "summary": "Obtiene los canales y reglas de actualización",
        "responses": {
          "200": {
            "description": "Contrato de consumo",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "./schemas/consumption.v1.json"
                }
              }
            }
          }
        }
      }
    },
    "/distribution/style-health.v1.json": {
      "get": {
        "summary": "Obtiene la frescura de Style, Tailwind y sus gates transversales",
        "responses": {
          "200": {
            "description": "Salud verificable del candidato"
          }
        }
      }
    },
    "/registry/v10/index.json": {
      "get": {
        "summary": "Obtiene el índice del registry compatible con shadcn",
        "responses": {
          "200": {
            "description": "Registry Style v10"
          }
        }
      }
    },
    "/registry/v10/{component}.json": {
      "get": {
        "summary": "Obtiene un componente React copiable",
        "parameters": [
          {
            "name": "component",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Registry item"
          },
          "404": {
            "description": "Componente desconocido"
          }
        }
      }
    }
  }
}
