Troubleshoot strict sender-ID mode rejects
Strict sender-ID mode re-checks every outbound alphanumeric sender against the destination country’s format, prefix, and length rules before the send is submitted and rejects a violation with422 SENDER_INVALID_FOR_DESTINATION. This page decodes every rule code
the rejection can carry and shows the fix for each — read the code out of
the error’s details.rule field before retrying, because a blind retry
re-burns the same code.
Gate the control
The mode is an opt-in, tenant-owned toggle — it lives on thesms_sender_id_strict key in your organization’s settings and defaults to
off (permissive). Flip it via the dashboard sender-ID settings or through
support. Turning it on re-applies the full destination-country rule set
pre-send, so sends that used to pass with an advisory now fail closed.
That is the behavior you asked for — the page decodes which rule fired.
Decode the rule code
A strict-mode rejection carries the violating rule indetails.rule, the
destination country in details.country, the offending sender in
details.sender, and — for prefix violations — the matched prefix in
details.matchedPrefix.
Other codes in the format family —
too_long, too_short,
invalid_chars, wrong_alpha_only, wrong_numeric_only — follow the
same pattern: the rejection names the country and the sender, so adjust
the sender value on the failing send path.
Incoming state: mode off vs mode on
Permissive advisories are informational only; strict mode blocks before
any wallet deduction.
Revert the mode
Disable the mode the same way you enabled it — clear thesms_sender_id_strict key on your organization settings (dashboard
sender-ID settings, or support). Permissive behavior resumes immediately:
non-conforming sends are accepted again and violations return as advisory
metadata. There is no migration or cooldown.
Reproduce and fix each code
A violating request in strict mode hits the 422 on the same endpoint you sent to. The examples below assume strict mode is on.wrong_length_exact — an 8-character sender to India
from to a 6-character alphabetic header, for example
MYBRND, or route the destination through a sender pool whose members
conform — see sender pools.
restricted_prefix — a BANK* sender to Turkey
NOWBANK passes;
the check matches the start of the sender). If the brand genuinely
needs the prefix, register it through the country’s regulator channel —
see sender-ID registration.
leading_trailing_space — whitespace at the boundary
Alpha-unsupported destination
For US/Canada recipients, strict mode raises a400 instead:
Lens+: this is a tenant-owned control
Like suppression and opt-out gating, the sender-ID rule set is a control you own — Orbit does not mandate it (see Compliance posture FAQ). Enabling strict mode trades a permissive accept against a pre-send reject; disabling it trades back. Neither choice changes what carriers enforce — it only moves the reject from the carrier’s DLR back to your API response.Related references
- Sender-ID Registration — register a sender per country so registration gates also pass.
- Sender resolution — the full precedence chain from request selector to fallback.
- Sender pools — route destinations through pools whose members conform per country.
- Error codes — the full send-path error table.
- Compliance posture FAQ — the map of every tenant-owned toggle.