คีย์ API และไคลเอนต์ OAuth
Polylane มีข้อมูลรับรองสองประเภทสำหรับการเข้าถึงแบบโปรแกรม คีย์ API เหมาะกับสคริปต์ CI และเครื่องมือแบบไม่มีหน้าจอ: หนึ่งคีย์ หนึ่ง workspace ชุดสโคปที่กำหนดตายตัว ไคลเอนต์ OAuth เหมาะกับแอปพลิเคชันที่ให้ผู้ใช้ลงชื่อเข้าใช้และเรียก Polylane ในนามของผู้ใช้ และทั้งสองยืนยันตัวตนกับ API เดียวกัน
คีย์ API
เปิด Settings > API Keys ในคอนโซล แล้วคลิก Create an API key ตั้งชื่อคีย์ (อย่างน้อย 4 ตัวอักษร) และเลือกสโคป: แบบฟอร์มเลือกสโคปที่สมาชิกภาพของคุณเองมีไว้ล่วงหน้า และคำขอสโคปที่คุณไม่มีจะล้มเหลวด้วย 403 คีย์แสดงเพียงครั้งเดียว เริ่มด้วย sk_ และดูอีกครั้งไม่ได้ ดังนั้นให้คัดลอกลงตัวจัดการความลับของคุณ
ส่งคีย์ใน header x-api-key:
curl https://api.polylane.com/v1/scopes \
-H "x-api-key: sk_xxxxx"
คำขอได้รับอนุญาตตามสโคปของคีย์ ไม่ใช่สิทธิ์ทั้งหมดของคุณ เพิกถอนคีย์จากหน้าการตั้งค่าเดียวกันหรือด้วย DELETE ไปที่ /v1/api_keys/{workspaceId}/{id} ผู้สร้างคีย์หรือผู้ดูแล workspace ลบได้
สโคป
สโคปจับคู่ทรัพยากรกับการกระทำ และ GET /v1/scopes แสดงรายการทุกสโคปพร้อมคำอธิบาย เหล่านี้คือสโคปที่คุณจะพบบ่อยที่สุดในเอกสารเหล่านี้
| สโคป | คำอธิบาย |
|---|---|
threads:read | ดูเธรด |
issues:write | รับทราบ แก้ไข หรือรันการตรวจสอบ issue ใหม่ |
cloud_infra:read | ดูโหนดและเส้นเชื่อมของโครงสร้างพื้นฐานคลาวด์ |
autofixes:write | บันทึกและอัปเดตสถานะวงจรชีวิตของ autofix |
agent_tools:read | ค้นพบและรันเครื่องมือของเอเจนต์แบบอ่านอย่างเดียวจากไคลเอนต์ภายนอก เช่น MCP |
agent_tools:write | รันเครื่องมือของเอเจนต์ที่เขียนได้จากไคลเอนต์ภายนอก ภายใต้การตรวจสอบความปลอดภัย |
oauth_clients:write | สร้างและจัดการไคลเอนต์ OAuth |
analytics:read | ดูกิจกรรมของ workspace เนื้อหายอดนิยม และสถิติการใช้งาน |
ไคลเอนต์ OAuth
ไคลเอนต์ OAuth คือแอปพลิเคชันที่คุณลงทะเบียนเพื่อให้มันให้ผู้ใช้ลงชื่อเข้าใช้และเรียก Polylane ด้วยสโคปที่ผู้ใช้แต่ละคนอนุมัติ การจัดการไคลเอนต์ต้องใช้ oauth_clients:write เปิด Settings > OAuth Clients แล้วคลิก New OAuth client: ชื่อและอีเมลติดต่อจะปรากฏบนหน้าจอขอความยินยอม คุณเพิ่ม redirect URI และสโคปที่ไคลเอนต์ขอได้ ส่วนคำอธิบาย เว็บไซต์ และโลโก้ไม่บังคับ การสร้างคืน client ID ที่เริ่มด้วย oauth_client_ และ client secret ที่แสดงเพียงครั้งเดียว หากคุณทำ secret หาย ให้ Rotate จากหน้าของไคลเอนต์ และ secret เดิมจะหยุดทำงานทันที
ขั้นตอนการอนุญาต
Polylane ใช้ OAuth 2.0 authorization code flow พร้อม PKCE (S256)
ส่งผู้ใช้ไปยังหน้าขอความยินยอม
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>
redirect URI ต้องตรงกับที่คุณลงทะเบียนไว้ทุกตัวอักษร และทุกสโคปที่ขอต้องเป็นสโคปที่ไคลเอนต์ได้รับอนุญาต
แลก code เป็นโทเค็น
หลังผู้ใช้อนุมัติ Polylane จะ redirect ไปยัง callback ของคุณพร้อม code แลกมันบน 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>"}'
การตอบกลับมี access_token ที่หมดอายุหลังจากหนึ่งชั่วโมง และ refresh_token
เรียก API ในนามผู้ใช้
curl https://api.polylane.com/v1/scopes \
-H "Authorization: Bearer <access-token>"
รีเฟรชเมื่อ access token หมดอายุ
ส่ง POST grant_type refresh_token ไปยัง token endpoint เดียวกัน refresh token ใช้ได้ครั้งเดียว: การรีเฟรชแต่ละครั้งคืนโทเค็นทดแทน
metadata ของเซิร์ฟเวอร์ รวมถึง URL ของทุก endpoint เผยแพร่ที่ https://api.polylane.com/v1/.well-known/oauth-authorization-server และผู้ให้บริการยังเปิดให้ใช้ /v1/oauth/userinfo และ /v1/oauth/introspect เพิกถอนโทเค็นที่แอปพลิเคชันของคุณถืออยู่ด้วย POST ไปยัง /v1/oauth/revoke พร้อมโทเค็นและข้อมูลรับรองไคลเอนต์ของคุณ โดยตั้ง token_type_hint เป็น access_token หรือ refresh_token หรือละไว้เพื่อลองทั้งสองแบบ การลบไคลเอนต์จากหน้าของมันจะหยุดไม่ให้เริ่มการอนุญาตเพิ่มเติม
เอเจนต์เขียนโค้ด
คุณไม่ต้องมีไคลเอนต์ OAuth เพื่อเชื่อมต่อเอเจนต์เขียนโค้ด เซิร์ฟเวอร์ MCP แบบโฮสต์ที่ https://mcp.polylane.com/mcp รันขั้นตอน OAuth ของตัวเองพร้อม dynamic client registration และยังรับคีย์ API ด้วย ดู เซิร์ฟเวอร์ MCP ของแพลตฟอร์ม
ที่เกี่ยวข้อง
- เซิร์ฟเวอร์ MCP ของแพลตฟอร์ม เพื่อเชื่อมต่อเอเจนต์ของตัวแก้ไขโดยไม่ต้องลงทะเบียนไคลเอนต์
- การยืนยันตัวตนของ CLI เพื่อลงชื่อเข้าใช้ CLI ด้วยเบราว์เซอร์ รหัสอุปกรณ์ หรือคีย์ API
- เอกสารอ้างอิง API สำหรับทุก endpoint และสโคปที่ต้องใช้