<!-- VanceTel docs · /docs/opt-out -->

# Opt-out & compliance

Every number you send from honors SMS opt-out automatically. The API handles the standard STOP/START/HELP keywords for you, blocks sends to anyone who has opted out, and gives you the registration context you need to run [two-way SMS](/developers/glossary/two-way-sms) compliantly.

  SMS compliance is not optional. In the US, the TCPA and carrier [A2P 10DLC](/developers/glossary/a2p-10dlc)
  rules govern business messaging — unregistered or non-compliant traffic gets filtered, blocked,
  or fined. Treat opt-out handling as a hard requirement, not a feature.

## Automatic keyword handling

Inbound messages matching the standard keywords are intercepted and acted on before they reach your application:

- **STOP** (and equivalents like `STOPALL`, `UNSUBSCRIBE`, `CANCEL`, `END`, `QUIT`) — the recipient is opted out. We send the carrier-mandated confirmation and block further sends to that number on the account.
- **START** (or `UNSTOP`, `YES`) — the recipient opts back in. Sending resumes.
- **HELP** (or `INFO`) — the recipient receives your help reply identifying your business and support contact.

You still receive a signed `message.received` webhook for these so your records stay in sync, but you do not need to implement the keyword logic yourself. See [Webhooks](/developers/docs/webhooks).

## Blocked recipients are rejected before send

Once a number has opted out, any attempt to message it is rejected **before** the message leaves the platform — nothing is delivered and you are not billed for it. The send fails validation with a `422` and a clear error.

```json
{
  "error": {
    "type": "recipient_opted_out",
    "message": "+15557654321 has opted out and cannot be messaged."
  }
}
```

  This applies everywhere a number is a recipient, including [Group SMS](/developers/docs/group-sms): an
  opted-out participant is dropped from the send while the rest of the group still receives the
  message.

## TCPA & A2P 10DLC

Two layers of rules apply to US business SMS:

- **TCPA** — federal law requiring prior express consent before sending, a clear way to opt out, and honoring opt-outs promptly. It carries statutory damages per message, so consent and recordkeeping matter.
- **A2P 10DLC** — the carrier framework for application-to-person traffic on standard 10-digit long codes. You register your business (brand) and each messaging use case (campaign) before sending. Registration determines your throughput and deliverability; unregistered traffic is heavily filtered.

Register your brand and campaigns during onboarding before sending live business traffic. The sandbox and test keys let you build and test against test numbers without registration — see [Authentication](/developers/docs/authentication).

## Best practices

- **Get consent first.** Only message numbers that opted in to your specific use case. Keep a record of when and how.
- **Include opt-out language.** State how to stop, e.g. _"Reply STOP to opt out,"_ especially in the first message of a conversation.
- **Identify yourself.** Make it clear which business is texting, in the body and in your HELP reply.
- **Honor requests immediately.** Automatic STOP handling covers the keywords; honor any opt-out conveyed another way (a phone call, an email) just as fast.
- **Match content to your registered campaign.** Sending content outside your registered A2P use case risks filtering and suspension.

  Because opt-out, START, and HELP are handled at the platform level and blocked recipients are
  rejected before send, the core carrier-keyword obligations are covered for you — leaving consent,
  identification, and registration as your responsibility.

## Next steps

- [Send an SMS](/developers/docs/sms) — message object and delivery receipts
- [Group SMS](/developers/docs/group-sms) — per-participant opt-out in group threads
- [Webhooks](/developers/docs/webhooks) — receive STOP/START/HELP and delivery events
