API v1
Catalogue des endpoints
25 endpoints documentés. Base : https://botillon.fr. Authentification projet : Authorization: Bearer blp_…. Quota : 120 en rafale, 240/min.
La référence interactive, les exemples et les codes d’erreur sont sur botillon.fr/api-docs.
Les routes internes (authentification, staff, anti-bot, mail) ne sont pas des endpoints publics et ne figurent pas dans ce catalogue.
Endpoints publics (13)
Lecture seule, sans clé, limités par IP.
GET
/api/v1/botspublicCatalogue des bots
Liste paginée des bots approuvés : recherche, filtre par tag (tous les tags fournis), tri (votes, récent, likes, nom, aléatoire, évalué, serveurs). Sans clé, rate-limitée par IP.
GET
/api/v1/bots/{discordId}publicFiche publique d’un bot
Fiche complète d’un bot, résolue par identifiant Discord OU slug. Mêmes données que la page publique et l’outil MCP get_bot. Sans clé, rate-limitée par IP.
GET
/api/v1/bots/{discordId}/statspublicStatistiques live d’un bot
Votes (total / mois / 30 j), likes (total / mois / 30 j), avis visibles, note des avis et nombre de serveurs. serverCount vaut null quand l’application n’est pas répertoriée dans l’annuaire Discord.
GET
/api/v1/bots/{discordId}/communitypublicCommunauté d’un bot
Communauté publique d’un bot : propriétaires, avis (note et 20 derniers avec auteur), likes total / mois / 30 j et 20 derniers votants avec nom et avatar. Résolue par identifiant Discord OU slug. Sans clé, rate-limitée par IP. Les profils privés sont anonymisés : leur identité (pseudo, avatar, identifiant Discord) est masquée et, pour un auteur d’avis, l’avis reste affiché de façon anonyme.
GET
/api/v1/users/{discordId}publicProfil public d’un utilisateur
Profil public d’un utilisateur (nom, avatar, bio, badges, bots possédés, statistiques d’engagement). Jamais d’email, de token ni de donnée privée. Un profil privé renvoie 404.
POST
/api/mcppublicServeur MCP (Model Context Protocol)
Serveur MCP distant en lecture seule, sans clé : outils, ressources et prompts sur le catalogue, les règles, l’aide et l’API.
GET
/llms.txtpublicPrésentation pour les agents IA
Description textuelle de Botillon à destination des agents IA (identité, fonctionnalités, API, MCP).
GET
/api/markdown/{path}publicPages en Markdown
Toute page du site en Markdown (frontmatter YAML + JSON-LD). Équivalent auto-hébergé de « Markdown for Agents ».
GET
/api/og/sitepublicImage Open Graph du site
Image de partage générée pour le site (PNG via /api/og/site.png).
GET
/api/og/bot/{discordId}publicImage Open Graph d’un bot
Widget/image de partage générée à partir des stats d’un bot (PNG via .png).
GET
/api/healthpublicSanté du service
État de santé du site et de la base de données.
GET
/robots.txtpublicDirectives crawlers
Directives robots (les crawlers IA sont explicitement autorisés).
GET
/sitemap.xmlpublicPlan du site
Sitemap XML des pages publiques.
Endpoints projet (12)
Clé de projet liée à un seul bot.
GET
/api/v1/meclé projetInfos & compteurs
Identité du projet lié à la clé et compteurs temps réel.
PATCH
/api/v1/meclé projetMise à jour partielle de la fiche
Modifie partiellement les métadonnées du bot. Les champs absents ne sont pas touchés ; une description modifiée repasse en review staff.
GET
/api/v1/me/commandsclé projetLire les commandes slash
Liste des commandes slash affichées sur la fiche (max 300).
PUT
/api/v1/me/commandsclé projetRemplacer toute la liste de commandes
Remplace la liste complète. Corps JSON (tableau de commandes) ou multipart/form-data (commands.json). Une liste vide retire les commandes.
PATCH
/api/v1/me/commandsclé projetFusion partielle de commandes
Insère ou remplace des commandes par nom ; les autres restent intactes.
DELETE
/api/v1/me/commandsclé projetRetirer les commandes
Supprime toute la liste de commandes du bot.
GET
/api/v1/me/check/{user_id}clé projetVérifier un utilisateur
Savoir en un appel si un utilisateur a voté ces 12 dernières heures, laissé un avis ou liké le bot.
GET
/api/v1/me/rankclé projetClassement du bot
Rang en votes, likes, serveurs et avis, percentile et moyennes de la plateforme, rang par tag.
GET
/api/v1/me/statsclé projetStatistiques temporelles
Séries quotidiennes (votes, likes, avis, visites) sur N jours et totaux 24 h / 7 j / 30 j.
GET
/api/v1/me/votesclé projetHistorique des votes
Liste paginée des votes, du plus récent au plus ancien. Un vote expiré reste visible avec active: false.
GET
/api/v1/me/likesclé projetHistorique des likes
Liste paginée des likes reçus par le bot.
GET
/api/v1/me/commentsclé projetHistorique des avis
Liste paginée des avis reçus, avec filtre sur les avis masqués par la modération.
Pour les assistants : serveur MCP et catalogue MCP.
Ouvrir la documentation API complète