La API pública de Levlix
Levlix publica una pequeña API de solo lectura que no necesita inicio de sesión ni clave de API. Alimenta la página de estado pública y permite que las herramientas de monitorización y los agentes de IA comprueben si Levlix está en funcionamiento. Todo lo demás que el panel llama bajo /api/ está ligado a un inicio de sesión con Discord y no forma parte de esta API.
Descubrimiento
Los agentes encuentran la API sin adivinar URL. Dos archivos legibles por máquina la describen:
- Catálogo de API:
https://levlix.io/.well-known/api-catalogsigue la RFC 9727. Es un linkset con una entrada que apunta a la descripción OpenAPI, a esta página y al endpoint de salud. - Descripción OpenAPI:
https://levlix.io/api/v1/openapi.jsondescribe en OpenAPI 3.1 todos los endpoints que se enumeran abajo.
Además, cada página HTML de levlix.io lleva una cabecera Link con rel="api-catalog", junto a los enlaces al sitemap y a llms.txt.
Endpoints
| Endpoint | Qué devuelve |
|---|---|
GET /api/v1/health |
El estado general, la versión en ejecución, el tiempo de actividad y la salud de la base de datos, la caché y la conexión del bot. |
GET /api/v1/health/history |
Las comprobaciones de salud de las últimas 24 horas y la disponibilidad de los últimos 90 días. |
GET /api/v1/health/discord |
El estado de la propia API de Discord, en caché durante un minuto. |
GET /api/v1/health/incidents |
El aviso de mantenimiento activo y las incidencias pasadas. |
GET /api/v1/liveness |
Siempre {"status": "alive"} mientras el proceso se ejecuta. |
GET /api/v1/readiness |
{"status": "ready"} en cuanto la base de datos responde; si no, 503. |
GET /docs/api/search?q= |
Resultados de búsqueda de la documentación. La documentación en alemán responde en la misma ruta bajo el prefijo del sitio en alemán. |
Reglas
- Todas las respuestas son JSON y solo se admite
GET. - No hay autenticación, así que ningún endpoint lee ni modifica datos de servidores.
- El endpoint de salud es el adecuado para consultar periódicamente. Una vez por minuto es más que suficiente; la propia página de estado no pregunta con más frecuencia.
- El bot de Discord no tiene una API pública propia. Todo lo demás funciona con comandos de barra y el panel.