Saltar a contenido

Documentación y salud

La documentación

Ruta Qué es
/docs La documentación navegable (Scalar): los endpoints agrupados por schema, con ejemplos
/docs/swagger Swagger UI, para probar los endpoints
/redoc ReDoc
/docs/diagrams/{schema} El diagrama entidad-relación del schema, interactivo
/openapi.json El OpenAPI de la API
  • Con autenticación, la documentación pide usuario y contraseña (HTTP Basic): el usuario es admin y la contraseña, API_DOCS_PWD. Sin la variable, es admin, y lo avisa en el log.
  • /openapi.json es siempre público: es de donde leen los generadores de clientes.
  • Con la autorización desactivada (tai-api dev), la documentación está abierta y no enseña candados ni el botón «Authorize».
  • Las páginas cargan sus scripts de un CDN, así que el navegador necesita internet.

El botón «Authorize» de Swagger inicia sesión con usuario@realm (admin@main); sin realm, usa main.

La salud

Ruta Qué comprueba Responde
GET /health Que el proceso está vivo siempre 200: status, service, version, uptime_seconds
GET /health/ready Que responden sus dependencias: la base de datos de cada schema y, en Keycloak, cada realm 200 si todas; 503 si falla alguna

/health/ready comprueba cada dependencia con un límite de 3 segundos, en paralelo, y dice cuál falló y cuánto tardó. Para añadir las tuyas, desde extensions/:

from ..app import health

def setup(app):
    health.CHECKS["redis"] = comprobar_redis      # async def comprobar_redis() -> None

MCP

tai-api set-mcp

Monta en /mcp un servidor Model Context Protocol que expone las lecturas de las tablas —find y find_many— para que las use un asistente de IA. Añade fastapi-mcp al proyecto y regenera el arranque. Necesita Poetry y un schema por defecto en el proyecto de tai-sql (tai-sql set-default-schema).