Anyreach keeps an org-scoped suppression ledger of addresses that should never be messaged again. Every recipient is considered subscribed unless their address is listed. Each send is checked against the ledger first, so an opt-out takes effect immediately.
The ledger is a single table of suppressed addresses, scoped to your organization. A row records the address, the channel, the reason it was added, and the date it was created. An address is unique per organization and channel, so the same address can be suppressed independently on different channels.Before drafting or sending a reply, Anyreach checks whether the sender’s address is suppressed. If it is, the message is still recorded as part of the conversation, but no reply is sent. The check runs again as a safety net right before the send, in case the address was suppressed between the inbound message and the outbound reply.
inbound message │ ├─ control keyword? ── STOP → add to ledger │ START → remove from ledger │ ├─ record the turn (always) │ └─ suppressed? ── yes → record only, no reply no → draft → re-check ledger → send
Anyreach scans the body of each inbound message for a control keyword. A STOP keyword adds the sender to the ledger; a START keyword removes them. Either way the message is still recorded as a conversation turn, it just does not get a reply.The keywords are matched case-insensitively against the message:
Delivery events feed the ledger too. When a send hard-bounces, the recipient is added with reason bounce. When a recipient marks a message as spam, they are added with reason complaint. See delivery status for how these events are reported.
By default, replies append a footer so recipients always have a way to opt out:
Reply STOP to unsubscribe.
The footer is added to both the HTML and plain-text parts of the email. It is controlled per email agent by the include_unsubscribe_footer property, which is on by default. Configure it on the agent — see configuring an email agent.
Open Settings → Unsubscribes to see the ledger. The page lists every suppressed address with its channel, reason, and date, newest first.
Column
Description
Address
The suppressed address
Channel
The channel the suppression applies to
Reason
Why it was added (for example stop_keyword, bounce, complaint)
Date
When it was added
To opt an address back in, select Resubscribe on its row. This removes the row from the ledger, and the address becomes eligible for messaging again on that channel.
Only resubscribe an address when you have a clear basis to do so. Bounce and complaint suppressions exist to protect your sending reputation; re-messaging a complaining recipient can harm deliverability.
The ledger is exposed under the /core prefix. Both endpoints are organization-scoped via your credentials.
Method
Path
Scope
GET
/core/unsubscribes
unsubscribes:read or unsubscribes:manage
DELETE
/core/unsubscribes/{id}
unsubscribes:manage
GET /core/unsubscribes returns the suppression rows ordered by created_at descending. DELETE /core/unsubscribes/{id} resubscribes an address by removing its row.