---
title: "Appeler une API externe sans exposer sa clé : la doc de while.sh"
url: https://while.sh/fr/docs/briques/connexions/
updated: 2026-11-09
---

# 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.

> 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 :

```yaml titre="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 :

| 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`.

## Guides

- [Brancher Stripe, Brevo ou toute API à votre appli sans clé dans le code, depuis votre agent IA](/fr/guides/api-sans-cle-dans-le-code/)
- [Appeler Claude, GPT ou Mistral depuis votre appli sans exposer la clé, depuis votre agent IA](/fr/guides/ia-sans-exposer-la-cle/)
