Each contact carries two separate states, both visible in Team Access.
Status — can we message them yet?
| Status | Meaning |
|---|---|
| Active | Approved, included in sends |
| Pending | Joined through a link while auto-accept was off; approve them to include them |
Health — should we still message them?
| Health | Meaning | Set by |
|---|---|---|
| Healthy | Normal. Every contact starts here | The default |
| Opted Out | The contact replied STOP; excluded from every send path | Automatic, on the reply |
The member directory can also display Blocked and Invalid Number badges, and a bounce count beside them. Nothing in MsgOrb sets those values today — only Opted Out is ever applied — so in practice a contact is either Healthy or Opted Out.
To find out whether a specific number is genuinely undeliverable, look it up on Delivery and Queue Health and read the error against its failed sends. Meta error 131026 means the number cannot receive WhatsApp messages.
How opt-out works
When a contact replies with stop, unsubscribe, remove me, opt out or stop messages — punctuation and casing ignored — MsgOrb records the reply and marks that contact Opted Out. Every send path then skips them: campaigns, workflows, the scheduled cron and the notification webhook, which refuses such a call with HTTP 403.
The reply is still logged, so you have a record of when the request arrived. It appears in Delivery and Queue Health under Received and in the Inbox.