---
title: "Unsubscribe from the newsletter"
method: POST
path: "/newsletters/unsubscribe"
tags: ["Newsletter"]
---

# Unsubscribe from the newsletter

`POST /newsletters/unsubscribe`

## Request

- Base URL: `http://localhost:8000/api/shop`
- URL: `http://localhost:8000/api/shop/newsletters/unsubscribe`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bagisto/apis/bagisto-shop-api/docs/newsletters/unsubscribe/post.ts> (a function with typed inputs; its response is checked against the schema)

Removes the newsletter subscription with the token from the unsubscribe link in the newsletter email (`/subscription/{token}`), as the storefront does. The answer is the same whether or not the token matched. No login is needed.

## Headers

- `X-STOREFRONT-KEY` string, required
- `X-Locale` string
- `X-Channel` string
- `X-Currency` string

## Request body

- object
  - `token` string, required

## Response `201`

Unsubscribed, or no subscription used that token.

## Other responses

- `400`: Invalid input
- `422`: The token is missing.

## Changes

- **2026-10-28** `b84d43839844`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/bagisto/apis/bagisto-shop-api/changes/newsletters/unsubscribe/post.md)

---

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