Klucze API i klienci OAuth
Polylane ma dwa typy poświadczeń do dostępu programistycznego. Klucze API pasują do skryptów, CI i narzędzi headless: jeden klucz, jeden obszar roboczy, stały zestaw zakresów. Klienci OAuth pasują do aplikacji, które logują użytkowników i wywołują Polylane w ich imieniu, a oba typy uwierzytelniają się względem tego samego API.
Klucze API
Otwórz Settings > API Keys w konsoli i kliknij Create an API key. Nazwij klucz (co najmniej 4 znaki) i wybierz jego zakresy: formularz wstępnie zaznacza zakresy, które ma twoje członkostwo, a żądanie zakresu, którego nie masz, kończy się błędem 403. Klucz jest pokazywany raz, zaczyna się od sk_ i nie można go zobaczyć ponownie, więc skopiuj go do swojego menedżera sekretów.
Wysyłaj klucz w nagłówku x-api-key:
curl https://api.polylane.com/v1/scopes \
-H "x-api-key: sk_xxxxx"
Żądania są autoryzowane względem zakresów klucza, nie twoich pełnych uprawnień. Odwołaj klucz z tej samej strony ustawień albo żądaniem DELETE na /v1/api_keys/{workspaceId}/{id}; usunąć go może twórca klucza albo administrator obszaru roboczego.
Zakresy
Zakres łączy zasób z akcją, a GET /v1/scopes wymienia każdy z opisem. Oto zakresy, które najczęściej spotkasz w tej dokumentacji.
| Zakres | Opis |
|---|---|
threads:read | Przeglądanie wątków. |
issues:write | Potwierdzanie, rozwiązywanie i ponowne uruchamianie kontroli problemów. |
cloud_infra:read | Przeglądanie węzłów i krawędzi infrastruktury chmurowej. |
autofixes:write | Zapisywanie i aktualizowanie stanu cyklu życia autofixów. |
agent_tools:read | Odkrywanie i uruchamianie narzędzi agentów tylko do odczytu z zewnętrznych klientów, takich jak MCP. |
agent_tools:write | Uruchamianie narzędzi agentów z możliwością zapisu z zewnętrznych klientów, z zastrzeżeniem przeglądu bezpieczeństwa. |
oauth_clients:write | Tworzenie klientów OAuth i zarządzanie nimi. |
analytics:read | Przeglądanie aktywności obszaru roboczego, popularnych treści i statystyk użycia. |
Klienci OAuth
Klient OAuth to aplikacja, którą rejestrujesz, żeby mogła logować użytkowników i wywoływać Polylane z zakresami, które zatwierdzi każdy użytkownik; zarządzanie klientami wymaga oauth_clients:write. Otwórz Settings > OAuth Clients i kliknij New OAuth client: nazwa i e-mail kontaktowy pojawiają się na ekranie zgody, dodajesz adresy URI przekierowania i zakresy, o które klient może prosić, a opis, strona internetowa i logo są opcjonalne. Utworzenie zwraca identyfikator klienta zaczynający się od oauth_client_ i sekret klienta pokazywany raz; jeśli zgubisz sekret, użyj Rotate na stronie klienta, a poprzedni sekret natychmiast przestanie działać.
Przepływ autoryzacji
Polylane implementuje przepływ OAuth 2.0 authorization code z PKCE (S256).
Wyślij użytkownika na stronę zgody
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>
Adres URI przekierowania musi dokładnie odpowiadać jednemu z zarejestrowanych, a każdy żądany zakres musi należeć do przyznanych klientowi.
Wymień kod na tokeny
Po zatwierdzeniu przez użytkownika Polylane przekierowuje do twojego callbacku z code. Wymień go na swoim backendzie:
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>"}'
Odpowiedź zawiera access_token, który wygasa po godzinie, oraz refresh_token.
Wywołaj API jako użytkownik
curl https://api.polylane.com/v1/scopes \
-H "Authorization: Bearer <access-token>"
Odśwież, gdy token dostępu wygaśnie
Wyślij grant_type refresh_token do tego samego punktu końcowego tokenów. Tokeny odświeżania są jednorazowe: każde odświeżenie zwraca zamiennik.
Metadane serwera, łącznie z adresem URL każdego punktu końcowego, są publikowane pod https://api.polylane.com/v1/.well-known/oauth-authorization-server, a dostawca udostępnia też /v1/oauth/userinfo i /v1/oauth/introspect. Odwołaj token, który ma twoja aplikacja, żądaniem POST na /v1/oauth/revoke z tokenem i poświadczeniami klienta, z token_type_hint ustawionym na access_token albo refresh_token, albo pominiętym, żeby spróbować obu. Usunięcie klienta z jego strony uniemożliwia mu rozpoczynanie kolejnych autoryzacji.
Agenci kodujący
Do połączenia agenta kodującego nie potrzebujesz klienta OAuth. Hostowany serwer MCP pod https://mcp.polylane.com/mcp prowadzi własny przepływ OAuth z dynamiczną rejestracją klientów i przyjmuje też klucz API; zobacz Serwer MCP platformy.
Powiązane
- Serwer MCP platformy: połącz agenta edytora bez rejestrowania klienta.
- Uwierzytelnianie CLI: zaloguj CLI przez przeglądarkę, kodem urządzenia albo kluczem API.
- Dokumentacja API: każdy punkt końcowy i wymagane przez niego zakresy.