Administration

Clés API et clients OAuth

Crée des clés API à scopes pour les scripts et la CI, enregistre des clients OAuth pour les apps qui agissent au nom d'un utilisateur, et révoque les unes comme les autres quand tu as terminé.

Polylane a deux types d'identifiants pour l'accès programmatique. Les clés API conviennent aux scripts, à la CI et aux outils sans interface graphique : une clé, un espace de travail, un ensemble fixe de scopes. Les clients OAuth conviennent aux applications qui connectent des utilisateurs et appellent Polylane en leur nom, et les deux s'authentifient auprès de la même API.

Clés API

Ouvre Settings > API Keys dans la console et clique sur Create an API key. Nomme la clé (au moins 4 caractères) et choisis ses scopes : le formulaire présélectionne les scopes que ta propre adhésion détient, et une demande pour un scope que tu ne détiens pas échoue avec un 403. La clé n'est affichée qu'une fois, commence par sk_ et ne peut plus être consultée ensuite, donc copie-la dans ton gestionnaire de secrets.

Envoie la clé dans l'en-tête x-api-key :

Terminal
curl https://api.polylane.com/v1/scopes \
  -H "x-api-key: sk_xxxxx"

Les requêtes sont autorisées selon les scopes de la clé, pas selon tes permissions complètes. Révoque une clé depuis la même page de réglages ou avec un DELETE sur /v1/api_keys/{workspaceId}/{id} ; le créateur de la clé ou un administrateur de l'espace de travail peut la supprimer.

Scopes

Les scopes associent une ressource à une action, et GET /v1/scopes les liste tous avec leur description. Voici les scopes que tu rencontreras le plus souvent dans ces docs.

ScopeDescription
threads:readVoir les threads.
issues:writeAcquitter, résoudre ou relancer les vérifications d'issues.
cloud_infra:readVoir les nœuds et les arêtes de l'infrastructure cloud.
autofixes:writeEnregistrer et mettre à jour l'état du cycle de vie des autofixes.
agent_tools:readDécouvrir et exécuter les outils d'agent en lecture seule depuis des clients externes comme MCP.
agent_tools:writeExécuter les outils d'agent capables d'écrire depuis des clients externes, sous réserve d'une revue de sécurité.
oauth_clients:writeCréer et gérer les clients OAuth.
analytics:readVoir l'activité de l'espace de travail, les contenus populaires et les statistiques de consommation.

Clients OAuth

Un client OAuth est une application que tu enregistres pour qu'elle puisse connecter des utilisateurs et appeler Polylane avec les scopes que chaque utilisateur approuve ; gérer les clients exige oauth_clients:write. Ouvre Settings > OAuth Clients et clique sur New OAuth client : le nom et l'e-mail de contact apparaissent sur l'écran de consentement, tu ajoutes les URI de redirection et les scopes que le client peut demander, et la description, le site web et le logo sont facultatifs. La création renvoie un identifiant de client qui commence par oauth_client_ et un secret de client affiché une fois ; si tu perds le secret, fais Rotate depuis la page du client et le secret précédent cesse de fonctionner immédiatement.

Le flux d'autorisation

Polylane implémente le flux OAuth 2.0 par code d'autorisation avec PKCE (S256).

Envoyer l'utilisateur vers la page de consentement

https://console.polylane.com/oauth/<client-id>
  ?client_id=<client-id>
  &redirect_uri=https://example.com/callback
  &scope=threads:read%20issues:read
  &code_challenge=<challenge>
  &code_challenge_method=S256
  &state=<random-state>

L'URI de redirection doit correspondre exactement à l'une de celles que tu as enregistrées, et chaque scope demandé doit être l'un de ceux accordés au client.

Échanger le code contre des tokens

Après l'approbation de l'utilisateur, Polylane redirige vers ton callback avec un code. Échange-le sur ton backend :

Terminal
curl -X POST https://api.polylane.com/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type": "authorization_code", "code": "<code>",
       "redirect_uri": "https://example.com/callback",
       "client_id": "<client-id>", "client_secret": "<client-secret>",
       "code_verifier": "<verifier>"}'

La réponse porte un access_token qui expire après une heure et un refresh_token.

Appeler l'API au nom de l'utilisateur

Terminal
curl https://api.polylane.com/v1/scopes \
  -H "Authorization: Bearer <access-token>"

Rafraîchir quand le token d'accès expire

Envoie grant_type refresh_token en POST au même point d'accès de token. Les tokens de rafraîchissement sont à usage unique : chaque rafraîchissement renvoie un remplaçant.

Les métadonnées du serveur, y compris l'URL de chaque point d'accès, sont publiées à https://api.polylane.com/v1/.well-known/oauth-authorization-server, et le fournisseur expose aussi /v1/oauth/userinfo et /v1/oauth/introspect. Révoque un token que ton application détient avec un POST sur /v1/oauth/revoke portant le token et les identifiants de ton client, avec token_type_hint réglé sur access_token ou refresh_token, ou omis pour essayer les deux. Supprimer un client depuis sa page l'empêche de démarrer de nouvelles autorisations.

Agents de codage

Tu n'as pas besoin d'un client OAuth pour connecter un agent de codage. Le serveur MCP hébergé à https://mcp.polylane.com/mcp exécute son propre flux OAuth avec enregistrement dynamique des clients et accepte aussi une clé API ; voir Serveur MCP de la plateforme.

Voir aussi