---
title: "Unsubscribe Via Token"
method: POST
path: "/api/email-preferences/unsubscribe/{token}"
tags: ["email-preferences"]
---

# Unsubscribe Via Token

`POST /api/email-preferences/unsubscribe/{token}`

## Request

- Base URL: `https://api.retirementlab.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.retirementlab.app/api/email-preferences/unsubscribe/{token}`
- Auth: none declared

Public, no-login one-click unsubscribe for product-email links.

Deliberately has no authentication dependency: the token itself (an
unguessable 32-byte value, never logged or exposed in plaintext) is the
only credential, matching how session and service-key tokens are
verified elsewhere in this module.

## Path parameters

- `token` string, required

## Response `200`

Successful Response

- UnsubscribeResult
  - `valid` boolean, required
  - `topic` string
  - `confirmation_text` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/retirementlab/apis/income-simulator-api.md) · [All operations](https://skmtc.dev/retirementlab/apis/income-simulator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/retirementlab/apis/income-simulator-api/revisions/b0f00a0333fd?raw)
