---
title: "Spend the token from the confirmation mail, unauthenticated"
method: POST
path: "/v1/newsletter/confirm"
tags: ["newsletter"]
---

# Spend the token from the confirmation mail, unauthenticated

`POST /v1/newsletter/confirm`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/newsletter/confirm`
- Auth: none declared

Called by the site's `/subscribed` page with the token from the link. Confirming twice is the same answer; an unknown token is a 404. On success the address is mirrored into the Resend segment, and a mirror that fails does not fail the confirmation: the table is the truth.

## Request body

- object
  - `token` string, required

## Response `200`

The address is confirmed.

- object
  - `confirmed` true, required

## Other responses

- `400`: The body, query or path did not validate; `errors` lists the fields.
- `401`: No bearer token, or one that does not verify or has expired.
- `404`: No such row for this tenant.
- `429`: Too many requests; `Retry-After` says how long to wait.
- `503`: A capability this service was not configured with, or a practice system that could not be reached; the `type` says which.

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
