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/botspublic

    Catalogue 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}public

    Fiche 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}/statspublic

    Statistiques 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}/communitypublic

    Communauté 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}public

    Profil 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/mcppublic

    Serveur 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.txtpublic

    Présentation pour les agents IA

    Description textuelle de Botillon à destination des agents IA (identité, fonctionnalités, API, MCP).

  • GET/api/markdown/{path}public

    Pages en Markdown

    Toute page du site en Markdown (frontmatter YAML + JSON-LD). Équivalent auto-hébergé de « Markdown for Agents ».

  • GET/api/og/sitepublic

    Image 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}public

    Image Open Graph d’un bot

    Widget/image de partage générée à partir des stats d’un bot (PNG via .png).

  • GET/api/healthpublic

    Santé du service

    État de santé du site et de la base de données.

  • GET/robots.txtpublic

    Directives crawlers

    Directives robots (les crawlers IA sont explicitement autorisés).

  • GET/sitemap.xmlpublic

    Plan du site

    Sitemap XML des pages publiques.

Endpoints projet (12)

Clé de projet liée à un seul bot.

  • GET/api/v1/meclé projet

    Infos & compteurs

    Identité du projet lié à la clé et compteurs temps réel.

  • PATCH/api/v1/meclé projet

    Mise à 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é projet

    Lire les commandes slash

    Liste des commandes slash affichées sur la fiche (max 300).

  • PUT/api/v1/me/commandsclé projet

    Remplacer 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é projet

    Fusion partielle de commandes

    Insère ou remplace des commandes par nom ; les autres restent intactes.

  • DELETE/api/v1/me/commandsclé projet

    Retirer les commandes

    Supprime toute la liste de commandes du bot.

  • GET/api/v1/me/check/{user_id}clé projet

    Vé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é projet

    Classement du bot

    Rang en votes, likes, serveurs et avis, percentile et moyennes de la plateforme, rang par tag.

  • GET/api/v1/me/statsclé projet

    Statistiques temporelles

    Séries quotidiennes (votes, likes, avis, visites) sur N jours et totaux 24 h / 7 j / 30 j.

  • GET/api/v1/me/votesclé projet

    Historique 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é projet

    Historique des likes

    Liste paginée des likes reçus par le bot.

  • GET/api/v1/me/commentsclé projet

    Historique 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