# Opt-outs you can see

Source: https://joinsimplesms.com/changelog/2026-10-05-opt-outs-you-can-see
Index: https://joinsimplesms.com/llms.txt

October 5, 2026

- **`recipient_opted_out`**: a send to an opted-out number now answers
  `403` with its own code (it was the generic `forbidden`) and says when
  and how the person opted out, in the message and as `opted_out_at`,
  `opted_out_via` and `opted_out_method`. `failure.code` is still
  `opted_out`. If you matched on `forbidden` for this case, match the new
  code.
- **`message.blocked`**: every refused send emits an event and webhook, is
  noted in the number's consent history, and is counted on
  `GET /v1/consent/{phone}` (`blocked_sends`, `last_blocked_at`).
- **`message.help_requested`**: emitted when a recipient texts HELP.
- **Replies in your name**: STOP, START and HELP replies now name your
  business, and a registered number sends exactly the replies its
  registration filed, with your support contact. They used to name Delivered.
- **START is confirmed**: someone who was opted out gets one "you are
  resubscribed" reply. A repeat STOP no longer sends a second confirmation.
- `consent.get()` is also available as `contacts.consent(phone)` in the
  Node and Python SDKs.
- **The suppression list fails closed**: if it cannot be read, a send
  answers `503` with `Retry-After` instead of going out unchecked.
