---
title: "Get External Provider Authorize Url"
method: GET
path: "/api/oauth2/providers/{provider}/authorize"
tags: ["OAuth 2.1"]
---

# Get External Provider Authorize Url

`GET /api/oauth2/providers/{provider}/authorize`

## Request

- Base URL: `https://api.agentstack.tech` (the document declares no server; this is the origin it was published from)
- URL: `https://api.agentstack.tech/api/oauth2/providers/{provider}/authorize`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Получить authorization URL для внешнего OAuth провайдера.

- ?flow=login или ?flow=register: login_flow (user_id=None), даже если есть сессия. Вызов без авторизации (страница входа).
- Без flow: provider_connect — привязка провайдера к текущему пользователю. Запрос **должен** выполняться с авторизацией
  (cookie/токен), чтобы в state попал user_id и после callback провайдер привязался к этому пользователю (Профиль → Безопасность → Способы входа).

## Path parameters

- `provider` string, required: Provider ID (google, github, etc.)

## Query parameters

- `flow` string, nullable: Flow: login or register = login_flow (no session); omit = connect for current user

## Response `200`

Successful Response

- unknown

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/agentstack/apis/agentstack-core-api.md) · [All operations](https://skmtc.dev/agentstack/apis/agentstack-core-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentstack/apis/agentstack-core-api/revisions/8ecf3406e74a?raw)
