---
title: "Mute a request's update emails"
method: POST
path: "/hd/unsubscribe"
tags: ["hd"]
---

# Mute a request's update emails

`POST /hd/unsubscribe`

## Request

- Base URL: `https://api.sparkvault.com/v1`
- URL: `https://api.sparkvault.com/v1/hd/unsubscribe`
- Auth: none required
- TypeScript: <https://skmtc.dev/sparkvault/apis/sparkvault-api/docs/hd/unsubscribe/post.ts> (a function with typed inputs; its response is checked against the schema)

Mutes the request a mute link names, for its requester: a mail provider's RFC 8058 one-click POST to the List-Unsubscribe URL (`d` and `t` in its query, the body `List-Unsubscribe=One-Click`, form-encoded or multipart), or the confirmation page's form (`d` and `t` in a form-encoded body). The mute token is the only authority: idempotent, mute-only, and the same page answers whether or not the link names a request. Needs no credential; each client address spends a budget of requests a minute.

## Query parameters

- `d` string
- `t` string

## Response `200`

The page saying that updates are muted, if the request exists.

## Other responses

- `429`: This client address has spent its requests for the minute; `Retry-After` carries the seconds until the budget reopens.
- `503`: The mute could not be recorded just now; nothing changed.

## Changes

- **2026-10-23** `ad4c62db5e08`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sparkvault/apis/sparkvault-api/changes/hd/unsubscribe/post.md)

---

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