Connexions aux API
Votre appli appelle une API externe, comme Stripe, Brevo ou une IA, par une adresse que while lui donne. while ajoute la clé : ni votre appli ni votre agent ne la voient.
Mis à jour le 9 novembre 2026.
Vous, à votre agent : Branche Brevo pour envoyer les courriels, sans mettre la clé dans le code.
Ce que votre agent écrit
Votre agent l’écrit dans while.yaml, à la racine de votre appli :
services:
- name: web
port: 3000
connections: [brevo]
Ce que reçoit votre appli
Votre appli reçoit ces variables d’environnement à chaque mise en ligne :
| Variable | Ce qu’elle contient |
|---|---|
<NOM>_URL | L’adresse de la connexion : BREVO_URL pour une connexion brevo. La clé n’y est pas, while l’ajoute. |
Quand vous en servir
Servez-vous-en pour appeler une API externe dont while garde la clé. Pour une IA (Anthropic, OpenAI, Mistral), déclarez la connexion avec son modèle (declare_connection) : ses générations passent d’office. Pour Google, il y a deux chemins, par clé ou sans clé (fédération), et le choix revient à une personne.
Comment ça marche
Votre appli appelle une API externe (Stripe, Brevo, Pennylane…) par une adresse comme BREVO_URL, et while ajoute la clé : ni l’appli ni l’agent ne la voient. Chaque appel est tracé, et la connexion se verrouille sur ce qui a servi après 7 jours d’apprentissage.
Ce qu’il faut savoir
La connexion se déclare d’abord (declare_connection), puis une personne la valide. Un jeton de projet peut la déclarer pour son projet : c’est alors une demande, que valide une personne qui peut configurer les connexions. Le secret se saisit dans l’interface ou par l’API, jamais par MCP.
while s’authentifie par une clé (en-tête ou paramètre), Basic, Bearer, OAuth2 (client credentials, avec un émetteur OIDC découvert), une session par identifiant de service, ou un JWT qu’il signe avec la clé privée de la connexion (jwt : exchange, client_assertion ou direct). Des modèles existent pour Google (un compte de service et ses portées), Salesforce et Microsoft.
Pendant l’apprentissage, les écritures (POST, PUT, PATCH, DELETE) sont bloquées, sauf sur un chemin de post_read ou par une règle validée. Une fois la connexion verrouillée, ce qui sort des règles reçoit un 403, et l’agent est prévenu (sh.while.connection.refused). Une règle « valider chaque appel » répond 202 et attend une validation.
Une API sans IPv6 (Open-Meteo…) se joint aussi par une connexion : déclarez-la pour votre projet, même avec un jeton de projet ; une personne la valide, et while la joint en IPv4 par son relais, sans rien à faire dans l’appli.
Il y a deux chemins vers Google, et le choix revient à une personne. Par clé (connexion jwt, modele google), la clé d’un compte de service est gardée par while, jamais dans l’appli, mais c’est une clé de longue durée, à changer si elle fuit. Par fédération d’identité OIDC (Workload Identity Federation chez Google, identifiant fédéré chez Azure) (connexion federee), c’est la même chose sans aucune clé, et seule la production appelle Google. La fédération a en plus une case sur la liaison, décochée par défaut : cochée, chaque mise en production du projet attend le clic d’une personne approbatrice (une autre que celle qui la demande, s’il y en a une autre), et seul du code validé agit chez Google.
Prix
Ces prix sont les mêmes dans toutes les offres, hors taxes :
| Ressource | Prix | Détail |
|---|---|---|
| Appels de la passerelle | 0,30 € les 1 000 appels | au-delà de 500 000 par mois, offre Pro |
Les outils MCP de votre agent
Votre agent s’en occupe avec les outils declare_connection, list_connections et call_connection.