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
adminy la contraseña,API_DOCS_PWD. Sin la variable, esadmin, y lo avisa en el log. /openapi.jsones 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¶
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).