Skip to content

Cles API

Creer, restreindre, faire tourner et revoquer des cles API pour l'acces programmatique via Authorization: Bearer.

3 min de lecture

Les cles API donnent un acces programmatique a l'API publique /v1/*. Chaque cle porte une liste explicite de capacites -- les routes qu'elle peut appeler -- pour limiter les degats si une cle fuit un jour. Creez autant de cles que necessaire, une par integration, et restreignez chacune au strict minimum.

Creer une cle

  1. Connectez-vous au tableau de bord.
  2. Ouvrez /settings?tab=apiKeys.
  3. Cliquez sur le bouton de creation.
  4. Donnez a la cle un nom descriptif -- "CI production", "Monitoring staging", "Client MCP local" -- pour la reconnaitre plus tard.
  5. Choisissez les capacites necessaires a l'integration. Le formulaire coche par defaut desktop:read et desktop:chat, ce qui suffit pour lister les bureaux et envoyer des messages. N'ajoutez d'autres capacites que si l'integration en a vraiment besoin.
  6. Copiez la cle tout de suite. Elle n'est affichee en clair qu'une seule fois. Ne committez JAMAIS la cle dans un depot.

La valeur ressemble a sk_live_.... Le Bureau stocke un hash bcrypt, pas la version en clair, donc la cle est irrecuperable apres coup. Si vous la perdez, revoquez-la et creez-en une nouvelle.

Utiliser une cle

Envoyez la cle dans l'en-tete Authorization. L'appel le moins couteux pour verifier que tout est branche correctement est /v1/me :

curl https://lebureau.talentai.fr/v1/me \
  -H "Authorization: Bearer sk_live_..."

La reponse contient l'id utilisateur, l'email, le role, le tier, et les capacites de la cle utilisee pour la requete -- pratique pour confirmer que la cle a bien les portees attendues.

Capacites

Chaque cle porte une liste de routes qu'elle est autorisee a appeler. Le defaut a la creation est volontairement restreint : desktop:read et desktop:chat. Tout ce qui va plus loin -- demarrer et arreter des bureaux, envoyer des entrees de controle, taches planifiees, lecture de la base de connaissances -- doit etre coche explicitement.

Les capacites sont statiques. Il n'y a pas de flux d'edition de cle. Pour changer les portees d'une cle, revoquez-la et recreez-en une nouvelle avec les bonnes cases cochees. Voir Capacites API pour la liste complete et ce que chaque capacite debloque.

Lister, faire tourner, revoquer

Toute la gestion des cles se passe sur /settings?tab=apiKeys. La page liste chaque cle active avec son nom, sa date de creation et ses capacites. Cette version n'expose pas d'API publique pour lister ou revoquer les cles par programme.

Pour faire tourner une cle sans interruption : creez d'abord la nouvelle, basculez l'integration, verifiez que tout fonctionne, puis revoquez l'ancienne.

En cas de fuite

Revoquez immediatement la cle sur /settings?tab=apiKeys. La revocation est effective tout de suite -- toute requete utilisant la cle revoquee renvoie 401. Recreez ensuite une cle avec les memes capacites et basculez l'integration sur la nouvelle valeur. Si vous soupconnez que la cle a ete utilisee pour quelque chose d'inattendu, verifiez l'activite recente sur les ressources concernees.

Recommandations

PratiquePourquoi
Une cle par integrationRevoquer une integration ne casse pas les autres
Noms descriptifsOn voit d'un coup d'oeil quelle cle appartient a quel systeme
Capacites restreintesPlus petit rayon d'impact en cas de fuite -- uniquement ce dont l'integration a besoin
Rotation periodiqueLimite la fenetre d'exposition si une cle est compromise sans qu'on le sache