Troubleshoot Mexico NOM-184 consent gate 422 rejects
Mexico’s NOM-184-SCFI regulation requires explicit, time-stamped consent for every promotional A2P SMS sent to a Mexican subscriber. Orbit’s Mexico consent gate runs before the send is dispatched and rejects a violation with422 MESSAGING_MX_NOM184_CONSENT_MISSING.
Because the reject fires pre-dispatch, the message never leaves Orbit,
no downstream carrier sees it, and no wallet deduction happens —
a rejected send costs nothing, but a blind retry re-burns the same
reject.
The gate is a tenant-owned control: it runs only on Mexico-bound
destinations and only when your organization has opted in via the
regional send-gates toggle (see Gate scope). When enabled, each Mexico-bound promotional send checks your
consent records for the recipient — an opted-in record stamped with
nom184 lets the send through; anything else is refused.
Symptom: a 422 on a Mexico-bound send
A send to a Mexican destination (+52…) returns HTTP 422:
Symptom → cause
Fix: record the recipient’s NOM-184 consent, then retry
Record explicit NOM-184 consent on each Mexican recipient before you send. Two surfaces write the same records:- API —
POST /compliance/consentwith the SMS channel, the NOM-184 consent type, and the evidence fields that make the record defensible (what the recipient agreed to, the disclosure version, the lawful basis):
- Dashboard — open the contact and use Contacts → Consent to record the same opt-in with the NOM-184 consent type.
opted_in, retry
the send — the same request body now passes. Verify the state first
with GET /compliance/consent/lookup?identifier=%2B525512345678&channel=sms
if a retry still 422s; the full field contract is in
Consent Management & Receipts.
Transactional sends
Verification codes, account alerts, and other strictly transactional messages are not “promotional A2P SMS” under NOM-184-SCFI. Flag those sends withmetadata.nom184_exempt=true on the message request and the
gate skips them. Use the flag only where it accurately describes the
traffic — every exemption is captured in your audit log, and applying
it to promotional content undermines the legal position the gate
exists to protect.
What NOT to do
- Do not blanket-add MX NOM-184 consent to non-promotional traffic.
Consent records are legal declarations; stamping transactional-only
recipients with a promotional consent you never collected creates a
false audit trail and expands your regulatory exposure. Exempt
transactional traffic with
metadata.nom184_exempt=trueinstead. - Do not import a consented list without the timestamps and evidence.
A consent record you cannot tie to a time, a purpose, and a disclosure
version does not survive an audit. Record
purpose,consent_text_version, andconsent_proof_urlon every grant. - Do not retry the identical request in a loop after recording consent elsewhere than against the contact the gate resolved — the gate matches by phone number, so record consent on the number you are actually sending to.
- Do not disable the MX gate to work around the 422. The toggle is your opt-in, but Mexican carriers and the regulator enforce NOM-184 regardless — a gate-disabled send that lacks consent shifts the violation from a clean API reject to carrier-side enforcement and possible fines.
Gate scope: the MX toggle
The Mexico gate guards the organization settings key:- Path:
regional_send_gates.MX.enabled - Default: off — Mexico-bound sends are not gate-checked until you opt in.
When to escalate
Open a support ticket when any of these are true:- The 422 persists after
GET /compliance/consent/lookupreturnsopted_infor the recipient on thesmschannel. - A 422 rejection produced a wallet deduction (rejections are pre-dispatch and must be charge-free).
- You need bulk consent recording — importing a large consented list is a contact import plus per-recipient consent write; support can advise on throughput.
consent_type you recorded,
and the request id from the 422 response.
Related references
- Consent Management & Receipts — the consent API contract, evidence fields, and proof-of-record export.
- Error codes — the full send-path error table.
- Troubleshoot India DLT gate 422 rejects — the sibling regional gate that enforces India’s DLT template regime.
- Sender-ID not registered — the BR/SA/AE/SG registration gates; a Mexico send must also satisfy sender-format rules.
- Opt-out and suppression — what happens to the consent record when a Mexican subscriber texts STOP.