A2P Watch · Error 30034
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.
What 30034 actually means
The message was rejected, not delayed. Since 1 September 2023 US carriers block application traffic from unregistered +1 10DLC numbers outright, where they previously filtered some of it, and Twilio returns error 30034 for every one.
Nothing about this is visible to the person who pressed send. From their side the message simply never arrives — which is why an agency usually learns about it from the client rather than from a dashboard.
Why one number sends and the next one doesn't
Registration attaches to the number, not the account
A number is only registered when an unbroken chain connects it to an approved brand. Break any link and that specific number fails while its neighbours keep working — the single most common reason a partial outage looks random.
01
Phone number
Has to sit in the Sender Pool of a Messaging Service. A number you bought and never attached to anything is unregistered no matter how healthy the rest of your setup is.
02
Messaging Service
Has to be the one the campaign is attached to. Moving a number between services silently takes it out of the campaign it was covered by.
03
Campaign
Has to be VERIFIED. A campaign still PENDING or IN_PROGRESS covers nothing, even though it exists and looks configured.
04
Brand
Has to be APPROVED. If the brand is FAILED or SUSPENDED, every campaign under it stops covering its numbers.
The trap that catches sole traders
A Sole Proprietor campaign covers exactly one number
Add a second number to a Messaging Service attached to a Sole Proprietor campaign and it cannot register — Twilio returns error 30125. The first number keeps sending, so the setup looks fine until someone tests the new one.
Sole Proprietor brands are limited to one campaign, and that campaign to one phone number. If a client needs more, the brand has to be upgraded to Low-Volume Standard or Standard — there is no way to stretch a Sole Proprietor registration to cover a second sender.
Twilio's documentation for 30034 lists "verify the number's A2P registration status" as a solution. It doesn't say where to look, which is the entire problem — the number is the one thing the error message never tells you.
The error arrives per message, against a Message SID. Nothing in it names the sending number or the campaign it should have belonged to.
Finding them
Three ways to list every uncovered number
All three answer the same question. They differ in how long they take and whether they cover subaccounts.
Messaging → Services, open each service, read its Sender Pool, then compare that list against Phone Numbers → Active numbers for the same account.
Reliable and free. It is also per-account and entirely manual, so it stops being practical somewhere around the third client.
Subtract the pooled numbers from the SMS-capable ones and what's left is uncovered. Repeat per subaccount.
Paste read-only credentials once and it walks every subaccount, does that subtraction, and lists the numbers by name alongside whatever else is broken.
Twilio also publishes an A2P Registration Status Tool that exports a CSV per account, and Event Streams can push status changes to a webhook you host. Both are free and both are worth knowing about — this is the same information without the CSV or the endpoint.
Once you have the list
Add each number to a Messaging Service that already has a VERIFIED campaign attached. That is the whole fix, and it takes effect immediately — there is no re-approval step for adding a number to an already-approved campaign.
If some of those numbers are voice-only, turn SMS off on them instead. They will stop appearing as gaps, and nobody will accidentally send from them later.
Check your own account
See this across every account you manage, in about a minute
One read-only scan lists every brand, campaign and number in your Twilio account and every subaccount under it, worst first. Free, no signup, and your credentials are destroyed when the scan finishes.
Verified 9 August 2026