---
title: "Check an emailed cancel link"
method: GET
path: "/api/v1/me/account/deletion/cancel/{token}"
tags: ["Settings"]
---

# Check an emailed cancel link

`GET /api/v1/me/account/deletion/cancel/{token}`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/me/account/deletion/cancel/{token}`
- Auth: none required

Whether the single-use cancel link from the scheduling notice still acts. Public (the token is the whole secret) and CHANGES NOTHING — mail scanners prefetch links, so a GET that cancelled would let a scanner undo a deletion the owner asked for. The lock page's confirm screen reads this, then POSTs the same address. Rate-limited per IP.

## Path parameters

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

## Response `200`

The link still acts

- AccountDeletionCancelTokenCheck: The emailed cancel link still acts; nothing was changed by this read
  - `valid` true, required
  - `state` 'none' | 'scheduled' | 'on_hold' | 'in_progress', required: `none` — not scheduled. `scheduled` — the 7-day grace period is running: the account is locked, its own proofs and delegations are suspended, its API keys refused, its public pages dark; cancel restores all of it. `on_hold` — the day-7 job stopped before anything irreversible: the final invoice is unpaid (`hold_reason: unpaid_invoice`, pay it from the lock page) or the account is admin-suspended; cancel is still possible. `in_progress` — past the point of no return; cancel is refused.
  - `scheduled_for` string, date-time, nullable, required
  - `hold_reason` 'unpaid_invoice' | 'admin_suspended' | 'null', nullable, required
  - `display_name` string, nullable, required

## Other responses

- `404`: `cancel_token_invalid` — already used, or the deletion is no longer pending
- `429`: Rate limited

---

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