Free · read only · no signup
Know every client's A2P status — before their texts stop sending
One scan reads every subaccount, brand, campaign and number in your Twilio account, then tells you plainly what's broken, why, and how to fix it. About a minute.
Nothing to install · the sample board needs no account
The problem
You find out when the client calls
A2P failures are silent. A brand is suspended, a campaign rejected, a number drifts out of a messaging service — and nothing announces it. Messages simply stop arriving. No bounce, no dashboard error, no email.
The first signal is usually a client asking why their reminders stopped three days ago. By then you're explaining a problem you didn't know you had, on an account you'd have caught in seconds if anything had been watching.
No single view
Twilio shows one account at a time. Twenty clients means twenty tabs, and there is no cross-account status page.
No notifications
Nothing emails you when a brand flips to suspended. The state just changes.
It decays
A check on Monday says nothing about Thursday. Carrier reviews, complaints and policy changes all land without warning.
Errors are cryptic
"Campaign rejected" doesn't tell you the opt-in page is at fault — so the resubmission fails too, and costs another fee.
Why it keeps happening
The rules changed, and they're still changing
US carrier messaging rules have tightened every year since 2023, and each change quietly invalidates something that worked the day before.
SEP 2023
Unregistered traffic stopped sending
Carriers moved from filtering unregistered application SMS to rejecting it outright. A number outside an approved campaign doesn't send at all — it returns error 30034.
MAY 2026
The early warnings went away
Twilio retired the warnings that used to fire at 50 and 70 percent of your T-Mobile daily cap. Error 30023 still fires at the ceiling, so you now find out by hitting it rather than before.
SEP 2026
Rejection reasons change again
From the 15th, new error codes replace the vague feedback on rejected campaigns. Clearer once you know them — and a reason to re-read every registration you last looked at a year ago.
This is why a one-off audit isn't enough
The obvious objection
"Why would I paste my Twilio credentials into this?"
Reasonable question, and it deserves a real answer rather than a privacy policy. The short version: use a restricted key, and we throw it away when the scan ends.
Every request the scanner makes is one of five reads. There is no code path that sends a message, edits a registration or spends your balance.
Encrypted on arrival · destroyed when the scan ends · swept after 15 minutes
Read the whole policy in plain language — what we keep, for how long, and the safer way to connect.
How it works
STEP 1
Paste a read-only key
Use a Twilio Restricted API Key limited to reading Messaging and Accounts. Instructions are on the form. Delete the key afterwards if you like.
STEP 2
We read, and only read
The scanner walks every subaccount and asks Twilio for the state of each brand, campaign and number. It issues no writes — it cannot send, change or spend anything.
STEP 3
You get a graded report
Worst accounts first, each finding in plain English with a how-to-fix panel. Share the link, or have it emailed to you.
Fit
Built for you if
You run SMS for clients across multiple Twilio subaccounts
You've had a campaign rejected and weren't sure why
You'd rather hear about a suspension from a tool than from a client
You're an ISV or platform whose customers send under their own brands
You inherited a Twilio account and have no idea what state it's in
Not yet, if
All your client messaging runs on GoHighLevel's LC Phone rather than your own Twilio. There's no API for us to read yet — it's what we're working on next.
You send only outside the US and Canada, where A2P 10DLC doesn't apply.
You want us to fix things for you. Right now we tell you what's wrong and how to fix it; we never touch your account.
If something is already broken
What each failure actually means, and what to do about it
Written from the states the scanner finds most often, with every claim traced back to Twilio's own documentation rather than to another blog post.
Error 30034: which of your numbers aren't registered
Twilio tells you to verify a number's A2P registration status but not how. Here is how to find every number that isn't covered by an approved campaign, and why some send while others don't.
Your Twilio brand is SUSPENDED
What a SUSPENDED brand actually stops, how it differs from FAILED, and what to put in the support ticket — including the evidence that decides whether you get reinstated.
Error 30795: tax ID data mismatch
The mismatch is usually in your Customer Profile, not the brand. How to match an EIN and legal name exactly, how many free resubmissions you get, and when to pay for a manual review.
Your campaign is stuck IN_PROGRESS
What PENDING and IN_PROGRESS mean, how long is normal, the point at which waiting stops working, and what to send Twilio support so the ticket goes somewhere.
Questions people ask
Is it actually free, or free-until-a-paywall?
The scan and the report are free, with no account and no card. What's coming later is continuous monitoring — we keep watching and message you the moment something breaks — and that will be a paid subscription. The one-off check stays free.
What do you store after the scan?
The results only: which brands and campaigns are in what state, and the findings. Your credentials are destroyed when the scan ends. The report sits behind an unguessable link for 30 days and is then deleted.
Can this send messages or change my registrations?
No. Every request the scanner makes is a read. There is no code path that sends a message, edits a registration or spends your balance, which is why a read-only restricted key is all it needs.
How is this different from opening the Twilio console?
The console shows one account at a time, has no cross-account status view, and reports state without telling you what to do about it. This checks every subaccount in one pass, sorts the broken ones to the top, and explains each finding in plain English with a fix.
I use GoHighLevel — will this work?
Only if your clients run on your own Twilio account. If you use LC Phone, GoHighLevel exposes no A2P status to third parties, so there's nothing for us to read. Tell us on the report page and we'll let you know when that changes.
Do I need to be technical to use this?
No. You copy two values out of the Twilio console and paste them in. The report is written for whoever has to explain the problem to the client, not for an engineer.
What if I only have one Twilio account?
It still works and still finds things — uncovered numbers and stalled registrations are just as common on a single account. The cross-account view simply matters more once you're managing several.
Run your free check
About a minute from here to a full report
If you'd rather not hand over your auth token, make a restricted key first — two minutes, and you can delete it the moment you're done.
One caveat worth knowing: Twilio only lets a restricted key read the account it belongs to. If you manage clients in subaccounts and want all of them in one report, use the parent account's Auth Token. We'll say which accounts we couldn't reach either way.
Back to the form- Messaging → brand-registrations
- Messaging → services
- Messaging → services.usa2p-campaign
- Messaging → services.phonenumbers
- Phone-numbers → active-numbers
- Identity & Access Management → accounts
brand-registrations sits above content-templates in the
Messaging list — easy to scroll past, and without it the scan can't see suspended brands.