Skip to main content
Problème : votre produit sert plusieurs clients finaux. Leurs données ne doivent jamais se mélanger. Ce qu’une clé API voit : Deux modèles en découlent.

Modèle A : une clé par client (recommandé)

Il n’existe pas d’API de création d’organisation ni de clé. Le provisioning se fait dans l’application : créez un compte et une organisation par client, puis une clé dans Paramètres → Clés API. Contactez l’équipe Retriever pour automatiser ce provisioning à grande échelle. Stockez chaque clé chiffrée à côté de son tenant. Résolvez-la à chaque requête, jamais dans une variable globale partagée.
Une clé compromise n’expose qu’un seul client.

Modèle B : une clé, un workspace par client

Les lignes et les tables figées n’ont pas de workspace_id : vérifiez leur table ou leur run parent avec les fonctions ci-dessus. Limites du modèle B — à connaître avant de le choisir :
  • Les exclusions et les crédits sont communs à tous vos clients.
  • Les limites de débit sont partagées : un client actif peut ralentir les autres.
  • GET /v1/runs et GET /v1/workspaces renvoient les ressources de tous vos clients. Filtrez toujours par workspace_id.
Dans les deux modèles
  • La clé reste sur votre serveur. Votre front appelle votre backend, jamais Retriever directement.
  • Préfixez Idempotency-Key par l’id du tenant.
  • Journalisez tenant_id + run_id pour tracer la consommation.