API et agents

Les scripts, bots et agents IA peuvent utiliser le Watchdog via l’API x402, avec le même wallet, les mêmes crédits, watches et destinataires que ceux que vous voyez dans l’application.

Dernière mise à jour: 30 sept. 2026

Ce que les machines peuvent faire

Tout ce que vous faites sur la page Watchdog est aussi disponible sous /api/x402 : lister et créer des watches, modifier les signaux et le routage, gérer les destinataires et envoyer des tests, lire et exporter l’historique des alertes, obtenir les prix, acheter des slots et recharger des crédits. Les modifications faites via l’API apparaissent immédiatement dans l’application, et inversement.

Obtenir un jeton

Une machine se connecte avec le wallet, pas avec un mot de passe. Le processus comporte cinq étapes :

  1. POST /api/x402/auth/challenge avec l’adresse du wallet, les scopes demandés et un nom facultatif pour le jeton.
  2. La réponse contient un message de connexion au format SIWE (EIP-4361). Il est valable 5 minutes et liste les scopes demandés.
  3. Le wallet signe le message. Les wallets de smart contract compatibles EIP-1271 fonctionnent aussi.
  4. POST /api/x402/auth/token avec le message et la signature.
  5. La réponse contient un jeton commençant par fbx_ et sa date d’expiration, 24 heures par défaut. La machine l’envoie dans l’en-tête Authorization: Bearer.

Le jeton n’est affiché que dans cette réponse. Conservez-le comme un mot de passe.

Scopes

  • read est toujours inclus : lecture des watches, des destinataires, des alertes, des prix et du compte.
  • write autorise les modifications : création et modification de watches, de destinataires et de réglages.
  • spend autorise les actions qui consomment des crédits, comme l’achat de slots.

Exemples : un tableau de bord qui affiche seulement les alertes a besoin de read. Un bot qui configure des watches pour les nouveaux membres de l’équipe a besoin de read et write. Un agent qui achète aussi des slots de lui-même a besoin de read, write et spend. S’il manque un scope, l’API répond 403 avec le code insufficient_scope et indique le scope requis.

Vue d’ensemble et révocation

Tous les jetons de votre wallet sont listés dans Paramètres du compte → Accès API, avec le nom, la date de création, l’expiration et la dernière utilisation. Révoquer arrête un jeton immédiatement ; c’est irréversible. Un wallet peut avoir au maximum 10 jetons actifs en même temps. Les machines peuvent révoquer elles-mêmes un jeton avec DELETE /api/x402/auth/tokens/{id}.

Donnez à chaque machine son propre jeton, avec son propre nom et uniquement les scopes dont elle a besoin. Si une machine est compromise, vous révoquez ce seul jeton et rien d’autre ne s’arrête.

Réessais sans risque

Les requêtes qui créent quelque chose ou coûtent des crédits nécessitent l’en-tête Idempotency-Key, une valeur de 8 à 128 lettres, chiffres, _ ou -. Si la connexion est interrompue, la machine renvoie la même requête avec la même clé et obtient le premier résultat, au lieu de payer deux fois. La même clé avec une requête différente est refusée avec idempotency_key_reused.

Quand des slots ou des crédits manquent

Si une watch nécessite un slot ou si le solde est insuffisant, l’API répond 402. La réponse contient le code slot_required ou insufficient_credits, une proposition d’achat prête à l’emploi et le point de terminaison pour recharger. Un agent peut alors décider seul, ou vous demander d’abord.

Descriptions lisibles par machine

MCP

Un serveur pour le Model Context Protocol, auquel les assistants IA peuvent se connecter directement, est prévu mais pas encore disponible. D’ici là, les agents utilisent l’API HTTP décrite ci-dessus.