管理

APIキーとOAuthクライアント

スクリプトとCI向けにスコープ付きの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ヘッダーで送ります。

Terminal
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:readMCPなどの外部クライアントから読み取り専用のエージェントツールを発見し実行する。
agent_tools:write外部クライアントから書き込み可能なエージェントツールを実行する。安全性レビューの対象です。
oauth_clients:writeOAuthクライアントを作成し管理する。
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を付けてコールバックにリダイレクトします。バックエンドで交換します。

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>"}'

応答には1時間で期限が切れるaccess_tokenと、refresh_tokenが含まれます。

ユーザーとしてAPIを呼び出す

Terminal
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サーバーを参照してください。

関連