veil

Open an email’s stop link

The page the email notices link to, to stop them without the card’s key.

GET/notices/stop
Access
Public access
Client
Local or server client

Parameters#

NameLocationMeaning
langQueryen or it. English is the default.

Request examples#

cURL
curl -fsS 'https://veil.rip/notices/stop'

Response#

HTTP 200text/html

A page that reads the card’s number and the token after the #, asks first, and only on the button POSTs them to /v1/notices/unsubscribe.

Response headers#

HeaderValueMeaning
Content-Typetext/htmlUse the declared media type before choosing a parser.
DateHTTP dateServer time. Compare it with your clock when signing requests.
Retry-Afterinteger seconds, on rate_limited or busyWait at least this long before retrying. Other 429/503 codes do not necessarily include it.

Usage notes#

  • The emails link to /notices/stop#n=<card>&t=<token>. Opening the page changes nothing, because mail programs open links on their own.

Errors#

API errors return an error object. Use error.code for program logic; error.message is English text for people and can change. Response and error guide

Shared request errors
HTTPCodeMeaning and next step
429rate_limited

An anonymous, signed-request or API-key allowance was exceeded.

Wait at least Retry-After seconds. Share a queue and retry budget across your workers.

500internal_error

An unexpected server error occurred. Internal details are not returned.

Retry reads with bounded backoff. Check write results before sending a new signed operation.

503busy

The application has reached a temporary concurrency or database limit.

Wait Retry-After seconds and retry with bounded backoff.