Aller au contenu

Aller au sommaire de la doc

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.

Voir en Markdown

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 :

while.yaml
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 :

VariableCe qu’elle contient
<NOM>_URLL’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 :

RessourcePrixDétail
Appels de la passerelle0,30 € les 1 000 appelsau-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.

Guides

Branchez votre agent, il s’occupe du reste

À coller dans votre agent

Lis while.sh/agents, puis mets mon appli en ligne avec while.

Copier les instructions

Pas besoin de compte pour essayer : votre appli est en ligne tout de suite. Pour la garder, connectez-vous.

Un projet pour votre entreprise ? Parlez à l’équipe : hello@while.sh