{"openapi":"3.1.0","info":{"title":"API pública de Dispo","version":"1.0.0","description":"Contrato de los recursos públicos estables de Dispo. Los endpoints operativos y administrativos restantes son privados y requieren autenticación y permisos del club.","contact":{"name":"Dispo","url":"https://www.dispo.ar/contacto","email":"dispo10@gmail.com"}},"servers":[{"url":"https://www.dispo.ar","description":"Producción"}],"paths":{"/api/health":{"get":{"operationId":"getDispoHealth","summary":"Consultar el estado operativo de Dispo","description":"Devuelve el estado general y señales de las dependencias principales. Puede responder 503 cuando el servicio no está saludable.","tags":["Estado"],"responses":{"200":{"description":"Servicio saludable o degradado pero disponible.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}},"503":{"description":"Servicio no saludable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}}},"components":{"schemas":{"HealthResponse":{"type":"object","required":["status","timestamp","uptime","responseTimeMs","services"],"properties":{"status":{"type":"string","enum":["healthy","degraded","unhealthy"]},"timestamp":{"type":"string","format":"date-time"},"uptime":{"type":"number","minimum":0},"responseTimeMs":{"type":"number","minimum":0},"services":{"type":"object","description":"Estado resumido de base de datos, caché y circuit breakers externos."}}}}},"externalDocs":{"description":"Recursos para desarrolladores de Dispo","url":"https://www.dispo.ar/desarrolladores"}}