Authentification et clés d'API

Créer une clé, clés live et test, scopes disponibles et rotation d'une clé.

Envoyer votre clé

Chaque requête porte la clé en jeton porteur : Authorization: Bearer <clé>. Une clé appartient à une organisation et ne voit que les données de celle-ci.

curl https://infynia.quantylcore.com/api/v1/agents \
  -H "Authorization: Bearer $INFYNIA_API_KEY"

Une clé invalide, expirée ou révoquée reçoit toujours la même réponse 401, avec le code unauthorized.

Créer une clé

  • Ouvrez Développeurs, puis Clés dans le dashboard. Les propriétaires et administrateurs créent et révoquent les clés ; les membres voient seulement la liste.
  • Choisissez un nom, les scopes, une expiration (30 jours, 90 jours, 1 an ou jamais) et, si vous le souhaitez, les agents que la clé peut utiliser.
  • La clé est affichée une seule fois. INFYNIA n'en conserve qu'une empreinte : une clé perdue ne se récupère pas, créez-en une nouvelle.
  • Une organisation peut détenir jusqu'à 20 clés. La création, la rotation et la révocation sont consignées dans le journal d'audit.
inf_live_xxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Le format est inf_<environnement>_<préfixe>_<secret>. Le préfixe identifie la clé dans le dashboard et dans les journaux ; ne journalisez jamais la clé entière.

Clés live et clés de test

  • Les clés inf_live_ sont réservées aux organisations sur un plan payant. Sans plan payant, créer ou utiliser une clé live répond 403 avec plan_required. Les appels passés avec une clé live consomment les minutes de votre plan.
  • Les clés inf_test_ sont gratuites pour tous et appellent les mêmes routes.

Avec une clé de test, les appels et les campagnes sont simulés : aucun vrai appel, aucune minute décomptée (voir le guide du mode test). Les contacts restent des données réelles.

Scopes

Une clé ne peut faire que ce que ses scopes autorisent ; un scope manquant répond 403 avec forbidden. Les scopes suivent le modèle ressource:read ou ressource:write.

ScopeAutoriseDisponible
calls:writeLancer un appel sortantOui
calls:readLire un appelOui
agents:readLister les agentsOui
tasks:readLister les appels planifiésOui
tasks:writeAnnuler un appel planifiéOui
webcalls:writeCréer un jeton de session d'appel webOui
contacts:read, contacts:write, transcripts:read, campaigns:read, campaigns:write, knowledge:read, knowledge:writeRéservés à des ressources qui ne sont pas encore dans l'APIPas encore

Une clé limitée à certains agents reçoit 403 avec forbidden_agent si elle touche un autre agent, et les listes d'agents ne montrent que ceux autorisés. Une liste vide signifie tous les agents.

Expiration et rotation

  • Un e-mail de rappel est envoyé 7 jours avant l'expiration d'une clé.
  • Renouveler une clé en crée une nouvelle, avec les mêmes scopes et restrictions. L'ancienne clé continue de fonctionner pendant 24 heures pour que vous puissiez déployer la nouvelle sans coupure, puis s'arrête.
  • La révocation d'une clé prend effet immédiatement.