---
title: "Unsubscribe"
method: GET
path: "/api/email/unsubscribe"
tags: ["email"]
---

# Unsubscribe

`GET /api/email/unsubscribe`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/email/unsubscribe`
- Auth: none declared

Opt a user out of lifecycle email. Idempotent.

With a valid signed link: one-click opt-out. Without one (bare URL,
missing or bad params): the self-serve email form — same page for
every invalid shape, so nothing about existing ids leaks. ?email=
only prefills the form; unsubscribing still takes the explicit POST.

## Query parameters

- `u` string, nullable: user id
- `t` string, nullable: HMAC token
- `email` string, nullable

## Response `200`

Successful Response

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
