---
title: "Exchange token via redirect"
method: GET
path: "/api/v1/auth/callback/{token}"
tags: ["Auth"]
---

# Exchange token via redirect

`GET /api/v1/auth/callback/{token}`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/auth/callback/{token}`
- Auth: none declared

Exchange token and redirect with JWT cookie set via HTTP header. Used by "Continue Here" button in WebViews.

## Path parameters

- `token` string, required: Magic link or callback token

## Other responses

- `302`: Redirects with the JWT cookie set: an email sign-in's magic link to its `return_to` path when it gave one, a messenger's "Open Dashboard" and every other token to the dashboard
- `400`: Invalid or expired token

---

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