---
title: "Schwab Oauth Callback"
method: GET
path: "/api/admin/schwab/oauth-callback"
tags: ["admin"]
---

# Schwab Oauth Callback

`GET /api/admin/schwab/oauth-callback`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/api/admin/schwab/oauth-callback`
- Auth: none declared

Automatic OAuth2 callback — Schwab redirects here after user approval.

No admin auth required (browser redirect carries no credentials).
Verifies CSRF state nonce, exchanges the code, and redirects to the admin page.

## Query parameters

- `code` string, nullable
- `state` string, nullable
- `error` string, nullable
- `error_description` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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