---
title: "Show a template confirm page or consume a plain magic link"
method: GET
path: "/api/v1/auth/verify"
---

# Show a template confirm page or consume a plain magic link

`GET /api/v1/auth/verify`

## Request

- Base URL: `https://applytovolunteer.com`
- URL: `https://applytovolunteer.com/api/v1/auth/verify`
- Auth: none required

A usable token with a known template slug returns 200 text/html and does not consume the token, including when Sec-Fetch-Site is cross-site. The page title is Continue sign-in. The page says a form is not created until you continue, and the form POSTs to this URL with the same token. A plain usable link is consumed and returns 302. A plain link redirects to /app, a safe next path, /app/forms/{id} after a preview claim, /app?preview=expired, or /tools/p/{token}. HEAD does not consume a token and does not set a session cookie. A usable template link still returns that 200 page. A usable plain link returns 200 with an empty body and Cache-Control no-store. A later GET on a plain link still signs in. A missing token returns 400 { error: "token required" }. An unknown, used, expired, or wrong-purpose token returns 400 { error: "invalid or expired" }. A consumed link with no client IP returns 400 { error: "missing_client_ip" }. No API key.

## Query parameters

- `token` string, required: Magic-link token from the email.

## Response `200`

Usable template magic link. text/html page titled Continue sign-in. The token is not consumed. The form POSTs to this URL with the same token.

## Other responses

- `302`: Plain magic link consumed. A plain link redirects to /app, a safe next path, /app/forms/{id} after a preview claim, /app?preview=expired, or /tools/p/{token}.
- `400`: { error: "token required" } when the token query is missing. { error: "invalid or expired" } when the token is unknown, used, expired, or the wrong purpose. { error: "missing_client_ip" } when the link was consumed and the client IP cannot be resolved.

---

[API](https://skmtc.dev/applytovolunteer/apis/apply2volunteer-api.md) · [All operations](https://skmtc.dev/applytovolunteer/apis/apply2volunteer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/applytovolunteer/apis/apply2volunteer-api/revisions/23df1ec8c88d?raw)
