---
title: "Probe a demo claim link without consuming it"
method: HEAD
path: "/api/v1/demos/claim/verify"
---

# Probe a demo claim link without consuming it

`HEAD /api/v1/demos/claim/verify`

## Request

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

HEAD does not consume the claim token, does not write to D1, and does not set a session cookie. A usable token returns 200 with an empty body and Cache-Control no-store. A missing token returns 400 { error: "token" }. An unknown, used, expired, or wrong-purpose token returns 400 { error: "invalid" }. A later GET still claims the organization. No API key.

## Query parameters

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

## Response `200`

Usable claim token. Empty body. Cache-Control is no-store. The token is not consumed, no row is written, and no session cookie is set.

## Other responses

- `400`: { error: "token" } when the token query is missing. { error: "invalid" } when the token is unknown, used, expired, or the wrong purpose.

---

[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)
