---
title: "Finish GitHub sign-in (web)"
method: GET
path: "/v1/auth/github/callback"
tags: ["auth"]
---

# Finish GitHub sign-in (web)

`GET /v1/auth/github/callback`

## Request

- Base URL: `https://api.smartloop.ai`
- URL: `https://api.smartloop.ai/v1/auth/github/callback`
- Auth: none declared

Creates the account on first sign-in, or links it to an existing account with the same email.

## Query parameters

- `code` string, required
- `state` string, required
- `error` string

## Response `200`

Signed in

- TokenPair
  - `access_token` string, required
  - `refresh_token` string, required
  - `token_type` 'bearer', required

## Other responses

- `400`: OAUTH_NOT_AVAILABLE_EMAIL, an invalid state, or LOGIN_BAD_CREDENTIALS
- `422`: Validation error

---

[API](https://skmtc.dev/smartloop/apis/smartloop-platform-api.md) - [All operations](https://skmtc.dev/smartloop/apis/smartloop-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smartloop/apis/smartloop-platform-api/revisions/17a787eabbe8?raw)
