Clés API et clients OAuth
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 :
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.
| Scope | Description |
|---|---|
threads:read | Voir les threads. |
issues:write | Acquitter, résoudre ou relancer les vérifications d'issues. |
cloud_infra:read | Voir les nœuds et les arêtes de l'infrastructure cloud. |
autofixes:write | Enregistrer et mettre à jour l'état du cycle de vie des autofixes. |
agent_tools:read | Découvrir et exécuter les outils d'agent en lecture seule depuis des clients externes comme MCP. |
agent_tools:write | Exécuter les outils d'agent capables d'écrire depuis des clients externes, sous réserve d'une revue de sécurité. |
oauth_clients:write | Créer et gérer les clients OAuth. |
analytics:read | Voir 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 :
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
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
- Serveur MCP de la plateforme pour connecter un agent d'éditeur sans enregistrer de client.
- Authentification de la CLI pour connecter la CLI avec un navigateur, un code d'appareil ou une clé API.
- Référence de l'API pour chaque point d'accès et les scopes qu'il exige.
Modèles d'IA
Fais tourner ton espace de travail sur les modèles gérés par Polylane, ta propre clé OpenAI, Anthropic ou Gemini, ou ton propre point d'accès compatible OpenAI.
Facturation et consommation
Comprendre ton quota mensuel, les limites des forfaits, l'utilisation supplémentaire payante et le changement de forfait.