---
title: "Start Google OAuth flow (sign-in)"
method: GET
path: "/oauth/google/login"
tags: ["OAuth"]
---

# Start Google OAuth flow (sign-in)

`GET /oauth/google/login`

## Request

- Base URL: `https://api.uptimemonitoring.com`
- URL: `https://api.uptimemonitoring.com/oauth/google/login`
- Auth: none required

Redirects to Google's authorization page (`scope=openid email`,
`prompt=select_account`). Sets an `oauth_google_state` cookie
(`Path=/oauth/google`) for CSRF protection, distinct from GitHub's
`oauth_state` cookie.

Not mounted at all unless `GOOGLE_CLIENT_ID`/`GOOGLE_CLIENT_SECRET`/
`GOOGLE_REDIRECT_URI` are all configured — `404` otherwise.

This route is sign-in only. A stray `link_ticket` query parameter is
ignored outright and any stale `oauth_google_link` cookie is
cleared — identity-link starts only via `POST /oauth/google/link`,
never a GET query string (a bearer ticket in a URL would stay live
in server/proxy access logs for the full 10-minute window it
remains valid).

## Query parameters

- `return_to` string

## Other responses

- `302`: Redirect to Google's authorization page.
- `404`: Google sign-in not configured.

---

[API](https://skmtc.dev/uptimemonitoring/apis/uptimemonitoring-com-api.md) · [All operations](https://skmtc.dev/uptimemonitoring/apis/uptimemonitoring-com-api/llms.txt) · [OpenAPI document](https://skmtc.dev/uptimemonitoring/apis/uptimemonitoring-com-api/revisions/ddcb2a8bc70f?raw)
