Reference

A2P 10DLC and toll-free error codes

Start here

If your registration came back refused, the interface you are using has probably told you one word and one sentence. Some interfaces call this state Rejected. Others call the same state Failed. They mean the same thing here, and you will see whichever word your platform chose, so search for either.

Behind that word there is a five digit number. That number is the only thing that tells you what actually went wrong. This section is a page per number, built from Twilio's own documentation, with the sources cited on every page.

Get the code yourself, in about a minute

The rejection code is already in your browser. Your platform's own interface requests the registration record from its API, that response contains the rejection detail, and the interface then displays a summary and discards the rest. Nothing about this requires an API key, a developer, or a support ticket. You are reading a response your browser already received.

  1. Open the page in your platform where the rejection is shown. Do not reload it yet.
  2. Open your browser's developer tools. F12 on Windows, or Command and Option and I on a Mac. Chrome, Edge, Firefox and Safari all have this.
  3. Select the Network tab, then filter to Fetch/XHR. This hides images and stylesheets and leaves the data requests.
  4. Now reload the page. The list fills with the requests the interface makes to load your registration.
  5. Click through the entries and read the Response or Preview panel for each. You are looking for the one that returns your campaign, brand, or verification record.
  6. Search that response for a five digit number starting with 30. Your browser's find function works inside the response panel. The code will be in there as a number.
  7. Copy the entire response before you close the panel, and read all of it rather than stopping at the first code you find.

That last point matters more than the rest. Twilio returns rejection reasons as a list. A record can carry several codes at once, and interfaces commonly surface only one of them. If you fix the reason you were shown and resubmit, the next rejection can come back on a reason that was present the first time and never displayed.

One caution. What the response calls that number varies between platforms and between versions of the same platform, so this page does not tell you which field name to look for. Search for the number itself, not for a field name.

Campaign registration and vetting

Errors raised when an A2P 10DLC campaign is registered, vetted, or suspended. 77 codes with a documented failing field or resubmission status.

  • 30881: Campaign vetting rejection - Invalid Brand Support Email
  • 30882: Campaign vetting rejection - Terms & Conditions
  • 30883: Campaign vetting rejection - Content Violation
  • 30884: Campaign vetting rejection - Spam/Phishing
  • 30885: Campaign vetting rejection - High Risk
  • 30886: Campaign vetting rejection - Invalid Campaign Description
  • 30887: Campaign vetting rejection - Opt-out Error
  • 30888: Campaign vetting rejection - Age Gate Not Present / Not Acceptable
  • 30889: Campaign vetting rejection - Embedded Phone Number
  • 30890: Campaign vetting rejection - Subscriber Help
  • 30891: Campaign vetting rejection - Invalid Website URL
  • 30892: Campaign vetting rejection - Invalid Sample Message - Public URL Shorteners
  • 30893: Campaign vetting rejection - Inconsistency between Sample Message and Use-case
  • 30894: Campaign vetting rejection - Invalid Brand Information
  • 30895: Campaign vetting rejection - Direct Lending - Campaign and Content Attribute Error
  • 30896: Campaign vetting rejection - Opt-in Error
  • 30897: Campaign vetting rejection - Disallowed Content
  • 30898: Campaign vetting rejection - Excessive EIN
  • 30900: Campaign rejection - The campaign use case is ineligible for registration.
  • 30901: Campaign rejection - The campaign registration request timed out.
  • 30903: Campaign rejection - Incorrect Sole Prop Brand Registration
  • 30907: Campaign vetting rejection - Website URL Validation Issue
  • 30908: Campaign vetting rejection - Compliant Privacy Policy Required
  • 30909: Campaign rejected: Message Flow or Call to Action incomplete/unverified
  • 30910: Campaign rejected: A2P 10DLC campaigns must be submitted in English
  • 30911: Campaign rejected: Duplicate template text; each field must be unique
  • 30912: Campaign rejected: A2P 10DLC is for application-to-person messaging only
  • 30913: Campaign rejected: Marketing and informational consent must be separate
  • 30914: Campaign rejected: sole proprietor campaign title does not match sole proprietor name
  • 30915: Sole Proprietor classification is invalid - business is a registered legal entity
  • 30916: Campaign rejected: Use case mismatch between lead generation and lead nurture
  • 30917: Campaign rejected: All opt-in methods must include complete workflow descriptions
  • 30918: Campaign rejected: DBA name does not match the legal business name on file
  • 30919: Campaign rejected: Website lacks sufficient business or messaging use case info
  • 30920: Campaign rejected: Website is only a form; insufficient business context
  • 30921: Campaign rejected: Website requires authentication and cannot be reviewed
  • 30922: Campaign rejected: Website does not meet campaign verification requirements
  • 30923: Campaign rejected: Message consent cannot be required for service use
  • 30924: Campaign rejected: Missing or non-compliant consent agreement language in opt-in flow
  • 30925: Campaign rejected: Opt-in must be unchecked by default; active consent required
  • 30926: Campaign rejected: Multiple companies cannot share a single campaign
  • 30927: Campaign rejected: Opt-in evidence is for a different company
  • 30928: Campaign rejected: Social influencer/public figure use case not permitted
  • 30929: Campaign rejected: Emergency alert notifications are not a permitted use case
  • 30930: Campaign rejected: Brand campaign limit of 100 reached
  • 30931: Campaign rejected: Opt-in process must allow consumers to decline
  • 30932: Campaign rejected: Privacy policy must disclose third-party data sharing
  • 30933: Campaign registration rejected: Privacy Policy URL is required for A2P 10DLC campaign registration
  • 30934: Campaign registration rejected: Terms and Conditions URL is required for A2P 10DLC campaign registration
  • 30940: Campaign rejected: Cannabis, CBD, or illegal substance content detected
  • 30941: Campaign rejected: Prescription drug or controlled substance content detected
  • 30942: Campaign rejected: Loan marketing content detected
  • 30943: Campaign rejected: Third-party debt collection content detected
  • 30944: Campaign rejected: Gambling or betting content detected
  • 30945: Campaign rejected: Sweepstakes or contest content detected
  • 30946: Campaign rejected: Stock alert content detected
  • 30947: Campaign rejected: Cryptocurrency content detected
  • 30948: Campaign rejected: High-risk investment content detected
  • 30949: Campaign rejected: Debt reduction or consolidation content detected
  • 30950: Campaign rejected: Credit repair content detected
  • 30951: Campaign rejected: Third-party lead generation or MLM content detected
  • 30952: Campaign rejected: Non-federally compliant use case detected
  • 30953: Campaign rejected: sex or adult content violation detected
  • 30954: Campaign rejected: hate speech or violent content detected
  • 30955: Campaign rejected: alcohol promotion content detected
  • 30956: Campaign rejected: alcohol content without required age verification detected
  • 30957: Campaign rejected: firearms or explosives content detected
  • 30958: Campaign rejected: tobacco or vape content detected
  • 30959: Campaign rejected: fraudulent or misleading content detected
  • 30960: Campaign rejected: known phishing campaign detected
  • 30961: Campaign rejected: high-risk domain reputation detected
  • 30962: Campaign rejected: deceptive marketing practices detected
  • 30963: Campaign rejected: public URL shortener detected in campaign
  • 30964: Campaign rejected: non-secured URL (http://) detected
  • 30971: Campaign rejected: Business email must use official domain
  • 30972: Campaign rejected: Contact must be an authorized business representative
  • 30994: Campaign Registration Failed

Campaign codes the platforms do not document, covering the 11 codes where neither Twilio nor the platform help articles name a field or state whether a corrected submission would be accepted.

Brand registration

Errors raised when the business behind the messaging is registered. 16 codes with a documented failing field.

  • 30701: Brand Registration Failure: Invalid input parameters
  • 30703: Brand Registration Failure: Duplicate record detected
  • 30713: Invalid Vetting Token
  • 30715: Vetting Token Not Allowed for Sole Proprietor Brands
  • 30729: Brand Registration Failure: Country code not allowed
  • 30751: Brand Registration Failure: Unsupported mobile phone number
  • 30753: Brand Registration Failure: Unsupported email address
  • 30754: Brand Registration Failure: Invalid postal address
  • 30755: Brand Registration Failure: Unsupported country code
  • 30758: Unknown Error Code
  • 30793: Brand Registration Failure: Validation problems with connected bundles
  • 30794: US A2P Registration: General error
  • 30795: Brand Registration: Tax ID data mismatch
  • 30796: Brand Registration: Entity type or stock information mismatch
  • 30797: Brand Registration: Must be a U.S. government entity to register as government
  • 30799: Brand Registration: Unable to verify registration details

Brand codes the platforms do not document, covering 18 codes. Brand coverage is much thinner than campaign coverage because both platform help articles deal only with campaigns.

Delivery blocked by registration state

These are not registration errors. They are send failures caused by the registration not being finished or not being attached to the number you sent from.

  • 30023: US A2P 10DLC - Daily Message Cap Reached
  • 30032: Toll-Free Number Has Not Been Verified
  • 30034: US A2P 10DLC - Message from an Unregistered Number

Toll-free verification

Rejections raised when a toll-free number is submitted for verification. 83 codes where Twilio states an outcome for a resubmission.

These rules change on 15 September 2026

Twilio is merging toll-free verification and A2P 10DLC under a single content policy on 15 September 2026, adding a new block of codes numbered 30532 to 30567. The pages below describe the position before that date, and each one carries the same note.

What changes on 15 September 2026

  • 30437: Toll Free verification rejection - Edit time expired
  • 30441: Toll-Free phone number verification rejection - Disallowed: SHAFT - Sex
  • 30442: Toll-Free phone number verification rejection - Disallowed: Spam
  • 30443: Toll-Free verification rejection - Disallowed: Loan Marketing
  • 30444: Toll Free verification rejection - Disallowed: Fraud
  • 30445: Toll Free verification rejection - Could not validate business information
  • 30446: Toll Free verification rejection - Opt-in not sufficient: express consent required
  • 30447: Toll Free verification rejection - phone number not provisioned to Twilio
  • 30448: Toll-Free phone number verification rejection - Age Gate
  • 30449: Toll Free verification rejection - URL issues in sample message
  • 30451: Toll-Free phone number verification unable to process - address invalid
  • 30452: Toll-Free phone number verification unable to process - email invalid
  • 30455: Toll-Free phone number verification rejection - Disallowed: SHAFT - Hate
  • 30456: Toll Free verification rejection - Disallowed: SHAFT - Alcohol
  • 30457: Toll Free verification rejection - Disallowed: SHAFT - Firearms
  • 30458: Toll Free verification rejection - Disallowed: SHAFT - Tobacco / Vape
  • 30459: Toll Free verification rejection - Disallowed: Cannabis/CBD
  • 30460: Toll Free verification rejection - Disallowed: Third Party Debt Collection
  • 30461: Toll Free verification rejection - Disallowed: Gambling
  • 30462: Toll Free verification rejection - Disallowed: Sweepstakes
  • 30463: Toll Free verification rejection - Disallowed: Stock Alerts/Platforms
  • 30464: Toll Free verification rejection - Disallowed: Cryptocurrency
  • 30466: Toll Free verification rejection - Disallowed - Debt Reduction
  • 30467: Toll Free verification rejection - Disallowed: Credit Repair
  • 30468: Toll Free verification rejection - Disallowed: Third-party Lead Generation
  • 30469: Toll Free verification rejection - Disallowed: Illegal substances/articles
  • 30470: Toll Free verification rejection - High Risk: Deceptive Marketing
  • 30471: Toll Free verification rejection - High Risk - Non-secured URL in sample message
  • 30472: Toll Free verification rejection - Could not verify Business
  • 30473: Toll Free verification rejection - Cannot validate business website URL
  • 30474: Toll Free verification rejection - Need end business
  • 30475: Toll Free rejection: Cannot combine messaging consent with service requirement
  • 30476: Toll Free verification rejection - Opt-in not provided
  • 30477: Toll Free rejection: Third-party information sharing not allowed
  • 30478: Toll Free verification rejection - single phone number used for multiple businesses
  • 30479: Toll Free rejection: Justification required for more than 5 numbers
  • 30481: Toll Free verification - Requested Cancellation
  • 30482: Toll Free verification rejection - Business email requires an official domain
  • 30483: Toll Free verification rejection - Contact must be a business representative
  • 30484: Toll Free verification rejection - Business name and office record mismatch
  • 30486: Toll Free verification rejection - HELP keyword response must meet requirements
  • 30487: Toll Free rejection: Charity must provide 501(c)(3) verification
  • 30488: Toll Free verification rejection - DBA name must be accurately provided
  • 30489: Toll Free verification rejection - Website must be established and active
  • 30490: Toll Free verification rejection - Social platform must be established and active
  • 30491: Toll Free verification rejection - Website is password protected or requires login
  • 30492: Toll Free verification rejection - Business website URL must display branding
  • 30493: Toll Free rejection: Privacy policy or terms URL missing or inaccessible
  • 30494: Toll Free verification rejection - ISV or reseller name must be provided
  • 30495: Toll Free verification rejection - Projected message volume exceeds use case limits
  • 30496: Toll Free verification rejection - Use case and use case summary inconsistent
  • 30498: Toll Free verification rejection - Opt-in workflow must match submission details
  • 30499: Toll Free verification rejection - Message content doesn't align with use case
  • 30501: Toll Free rejection: Political campaigns require a Campaign Verify token
  • 30502: Toll Free verification rejection - Political campaigns must submit FEC ID
  • 30503: Toll Free verification rejection - Confirmation message missing required details
  • 30504: Toll Free verification rejection - Single opt-in cannot cover multiple use cases
  • 30505: Toll Free verification rejection - Opt-in must be optional, not required
  • 30506: Toll Free verification rejection - Opt-ins must clearly reflect end business
  • 30507: Toll Free verification rejection - Opt-in does not match use case
  • 30508: Toll Free verification rejection - Pre-selected opt-in checkbox is not allowed
  • 30509: Toll Free verification rejection - Opt-in URL not accessible
  • 30510: Toll Free verification rejection - Opt-in example must be complete and branded
  • 30511: Toll Free verification rejection - Verbal consent script must be provided
  • 30512: Toll Free verification rejection - Age gate required for age-restricted content
  • 30513: Toll Free verification rejection - Opt-in not sufficient: Language Unclear
  • 30515: Toll Free verification rejection - Valid opt-in required for all submissions
  • 30516: Toll Free verification rejection - Double opt-in required for this use case
  • 30517: Toll Free rejection: Shopping cart reminders must follow specific guidelines
  • 30518: Toll Free verification rejection - Call-to-action missing required disclosures
  • 30519: Toll Free rejection: Privacy policy required for personal data collection
  • 30520: Toll Free verification rejection - Privacy policy mentions sharing opt-in data
  • 30521: Toll Free verification rejection - Opt-in data cannot be shared with third parties
  • 30522: Toll Free verification rejection - SMS terms must be accessible and compliant
  • 30523: Toll Free verification rejection - High-risk domain reputation
  • 30524: Toll Free verification rejection - Potential fraud risk
  • 30525: Toll Free verification rejection - Public URL shorteners not allowed
  • 30526: Toll Free verification rejection - High-risk domain issues
  • 30527: Toll Free verification rejection - Business Registration Number is Missing or Invalid
  • 30528: Toll Free verification rejection - Disallowed: Non-federally compliant use case
  • 30529: Toll Free rejection: Alcohol promotions require age verification
  • 30530: Toll Free verification rejection - Official business registration documents required
  • 30531: Toll-Free verification rejection - HELP keyword response must meet requirements

Toll-free codes the platforms do not document, covering the 3 codes where Twilio gives a reason but does not say what happens if you correct it and file again.

New codes effective 15 September 2026

Thirty six codes, 30532 to 30567, introduced by the unified content policy that merges toll-free verification and A2P 10DLC. All of them are eligible for resubmission. You will not see one of these on a rejection before that date.

What changes on 15 September 2026

  • 30532: Personal use cases are not supported
  • 30533: Person-to-person (P2P) use cases are not supported
  • 30534: Testing use case is missing business or program details
  • 30535: Viral messaging is missing required compliance disclosures
  • 30536: Privacy policy URL is missing or inaccessible
  • 30537: Business model does not match the messaging use case
  • 30538: A message sample is missing for a selected use case
  • 30539: Opt-out instructions or keywords are missing or noncompliant
  • 30540: Double opt-in confirmation message is required
  • 30541: Political campaign is missing an FEC or state committee ID
  • 30542: Political messaging must use the Political use case category
  • 30543: Live opt-in link not provided
  • 30544: Call-to-Action does not state the message purpose
  • 30545: Call-to-Action does not state message frequency
  • 30546: Opt-in agreement expired without the required changes
  • 30547: Call-to-Action is missing opt-out instructions
  • 30548: Charitable program does not separate consent for donation requests
  • 30549: No Terms of Service link found in the opt-in flow
  • 30550: No Privacy Policy link found in the opt-in flow
  • 30551: Consent does not specify SMS or text messaging
  • 30552: Opt-in is not customer-facing
  • 30553: SMS is forced for two-factor authentication
  • 30554: Charitable donations collected insecurely over SMS
  • 30555: First message sent without documented prior consent
  • 30556: SMS consent is bundled with other communication channels
  • 30557: Terms of Service missing business or program name
  • 30558: Terms of Service missing message frequency disclosure
  • 30559: Terms of Service missing product description
  • 30560: Terms of Service missing customer support information
  • 30561: Terms of Service missing opt-out information
  • 30562: Terms of Service missing message and data rates disclosure
  • 30563: Terms of Service missing carrier liability disclosure
  • 30564: Terms of Service and Privacy Policy links not near opt-in
  • 30565: Prescription Drugs and GLP-1s: Informational Use Only
  • 30566: Academic Fraud and Cheating Services Are Prohibited
  • 30567: Phishing and Simulated Phishing Messages Are Prohibited

Two ways forward

Have it handled for you

A2P registration is handled for you on Growth at $597/mo and on Scale at $1,197/mo. Registration, resubmissions, and the compliance work behind them are included.

See Growth and Scale

Fix it yourself

Send your email and we will send the fix playbook for registration rejections.

Verified against Twilio documentation on 2026-08-10.