L'API publique de Levlix
Levlix publie une petite API en lecture seule qui ne demande ni connexion ni clé d'API. Elle alimente la page de statut publique et permet aux outils de supervision et aux agents d'IA de vérifier si Levlix fonctionne. Tout ce que le tableau de bord appelle d'autre sous /api/ est lié à une connexion Discord et ne fait pas partie de cette API.
Découverte
Les agents trouvent l'API sans deviner d'URL. Deux fichiers lisibles par machine la décrivent :
- Catalogue d'API :
https://levlix.io/.well-known/api-catalogsuit la RFC 9727. C'est un linkset avec une seule entrée qui pointe vers la description OpenAPI, vers cette page et vers le point d'accès de santé. - Description OpenAPI :
https://levlix.io/api/v1/openapi.jsondécrit en OpenAPI 3.1 tous les points d'accès listés ci-dessous.
Chaque page HTML de levlix.io porte aussi un en-tête Link avec rel="api-catalog", à côté des liens vers le sitemap et llms.txt.
Points d'accès
| Point d'accès | Ce qu'il renvoie |
|---|---|
GET /api/v1/health |
Le statut global, la version en cours, la durée de fonctionnement et l'état de la base de données, du cache et de la connexion du bot. |
GET /api/v1/health/history |
Les vérifications de santé des dernières 24 heures et la disponibilité des 90 derniers jours. |
GET /api/v1/health/discord |
Le statut de l'API de Discord elle-même, mis en cache pendant une minute. |
GET /api/v1/health/incidents |
La bannière de maintenance active et les incidents passés. |
GET /api/v1/liveness |
Toujours {"status": "alive"} tant que le processus tourne. |
GET /api/v1/readiness |
{"status": "ready"} dès que la base de données répond, sinon 503. |
GET /docs/api/search?q= |
Les résultats de recherche de la documentation. La documentation allemande répond sur le même chemin sous le préfixe du site allemand. |
Règles
- Chaque réponse est en JSON et seul
GETest pris en charge. - Il n'y a pas d'authentification, donc aucun point d'accès ne lit ni ne modifie les données d'un serveur.
- Le point d'accès de santé est celui qu'il faut interroger. Une fois par minute suffit largement ; la page de statut elle-même ne demande pas plus souvent.
- Le bot Discord n'a pas d'API publique propre. Tout le reste passe par les commandes slash et le tableau de bord.