APIキーとOAuthクライアント
Polylaneには、プログラムからのアクセス向けに2種類の認証情報があります。APIキーはスクリプト、CI、ヘッドレスツールに向いています。1つのキー、1つのワークスペース、固定のスコープの集合です。OAuthクライアントは、ユーザーをサインインさせてその代理でPolylaneを呼び出すアプリケーションに向いています。どちらも同じAPIに対して認証します。
APIキー
コンソールでSettings > API Keysを開き、Create an API keyをクリックします。キーに名前を付け(4文字以上)、スコープを選びます。フォームは自分のメンバーシップが持つスコープをあらかじめ選択し、持っていないスコープを求めると403で失敗します。キーは1回だけ表示され、sk_で始まり、再表示できないため、シークレットマネージャーにコピーしてください。
キーはx-api-keyヘッダーで送ります。
curl https://api.polylane.com/v1/scopes \
-H "x-api-key: sk_xxxxx"
リクエストは、自分の完全な権限ではなく、キーのスコープに対して認可されます。キーの取り消しは同じ設定ページから、または/v1/api_keys/{workspaceId}/{id}へのDELETEで行います。キーの作成者またはワークスペース管理者が削除できます。
スコープ
スコープはリソースとアクションの組み合わせで、GET /v1/scopesがすべてのスコープを説明付きで一覧します。このドキュメントで最もよく目にするスコープは次のとおりです。
| スコープ | 説明 |
|---|---|
threads:read | スレッドを表示する。 |
issues:write | イシューのチェックを確認、解決、または再実行する。 |
cloud_infra:read | クラウドインフラのノードとエッジを表示する。 |
autofixes:write | 自動修正のライフサイクル状態を記録し更新する。 |
agent_tools:read | MCPなどの外部クライアントから読み取り専用のエージェントツールを発見し実行する。 |
agent_tools:write | 外部クライアントから書き込み可能なエージェントツールを実行する。安全性レビューの対象です。 |
oauth_clients:write | OAuthクライアントを作成し管理する。 |
analytics:read | ワークスペースの活動、人気のコンテンツ、使用統計を表示する。 |
OAuthクライアント
OAuthクライアントは、ユーザーをサインインさせ、各ユーザーが承認したスコープでPolylaneを呼び出せるように登録するアプリケーションです。クライアントの管理にはoauth_clients:writeが必要です。Settings > OAuth Clientsを開いてNew OAuth clientをクリックします。名前と連絡先メールアドレスは同意画面に表示され、リダイレクトURIとクライアントが要求できるスコープを追加します。説明、Webサイト、ロゴは任意です。作成するとoauth_client_で始まるクライアントIDと、1回だけ表示されるクライアントシークレットが返されます。シークレットを紛失した場合は、クライアントのページからRotateします。以前のシークレットは即座に使えなくなります。
認可フロー
Polylaneは、PKCE(S256)付きのOAuth 2.0認可コードフローを実装しています。
ユーザーを同意ページに送る
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>
リダイレクトURIは登録したものと正確に一致する必要があり、要求するすべてのスコープはクライアントに付与されたものでなければなりません。
コードをトークンと交換する
ユーザーが承認すると、Polylaneはcodeを付けてコールバックにリダイレクトします。バックエンドで交換します。
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>"}'
応答には1時間で期限が切れるaccess_tokenと、refresh_tokenが含まれます。
ユーザーとしてAPIを呼び出す
curl https://api.polylane.com/v1/scopes \
-H "Authorization: Bearer <access-token>"
アクセストークンの期限が切れたら更新する
同じトークンエンドポイントにgrant_type refresh_tokenをPOSTします。リフレッシュトークンは使い捨てで、更新のたびに新しいものが返されます。
すべてのエンドポイントURLを含むサーバーメタデータはhttps://api.polylane.com/v1/.well-known/oauth-authorization-serverで公開されており、プロバイダーは/v1/oauth/userinfoと/v1/oauth/introspectも公開しています。アプリケーションが保持するトークンを取り消すには、トークンとクライアント認証情報を付けて/v1/oauth/revokeにPOSTします。token_type_hintはaccess_tokenまたはrefresh_tokenを指定するか、省略して両方を試します。クライアントをそのページから削除すると、以後の認可を開始できなくなります。
コーディングエージェント
コーディングエージェントを接続するのにOAuthクライアントは不要です。https://mcp.polylane.com/mcpのホストされたMCPサーバーは、動的クライアント登録による独自のOAuthフローを実行し、APIキーも受け付けます。プラットフォームMCPサーバーを参照してください。
関連
- プラットフォームMCPサーバー: クライアントを登録せずにエディターのエージェントを接続する。
- CLIの認証: ブラウザー、デバイスコード、またはAPIキーでCLIにサインインする。
- APIリファレンス: すべてのエンドポイントと、それが必要とするスコープ。