GET/api/v1/newsletter/unsubscribe
Unsubscribe
Mark the user behind this send-token opted out of the Weekly Brief. Idempotent : re-clicking does nothing harmful. Invalid/unknown tokens get the same friendly page (no enumeration leak). Test sends (user_id NULL) flip nobody. The page links back to /resubscribe with the SAME token so an accidental click is reversible in 1 click.
Authentication
Public endpoint: no key required. Anonymous quotas still apply (see Rate limits).
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
token | string | ✓ | - |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Successful Response | string |
422 | Validation Error | HTTPValidationError |
See the standard error codes documented in the Error codes.
Code samples
Three ready-to-paste implementations. Replace $TRINITY_API_KEY with your API key (generated from the dashboard under Profile → API keys).
cURL
curl -X GET \
'https://api.trinityinsights.io/api/v1/newsletter/unsubscribe?token=value'Python
import os
import requests
BASE = "https://api.trinityinsights.io"
headers = {
}
params = {
"token": "value", # required
}
response = requests.get(f"{BASE}/api/v1/newsletter/unsubscribe", headers=headers, params=params, timeout=10)
response.raise_for_status()
data = response.json()JavaScript
const apiKey = process.env.TRINITY_API_KEY;
const response = await fetch(
"https://api.trinityinsights.io/api/v1/newsletter/unsubscribe?token=value",
{
method: "GET",
headers: {
},
},
);
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();Institutional disclaimer
Trinity Insights is an educational and analytical tool. Values returned by this endpoint do not constitute investment advice. Trinity Insights is not a Crypto-Asset Service Provider (CASP) registered under MiCA Regulation (EU) 2023/1114. See the full disclaimer.