Brand registration failures
Brand registration fails when TCR cannot verify your business identity. TheidentityStatus field on your brand object indicates the result.
Common brand failures and fixes
EIN mismatch — company name doesn't match IRS records
EIN mismatch — company name doesn't match IRS records
companyName you submitted doesn’t match what the IRS has on file for that EIN.Fix:- Look up your exact legal name on the IRS Tax Exempt Organization Search or your incorporation documents
- Update your brand with the exact legal name (including suffixes like “Inc.”, “LLC”)
- Re-submit for vetting
Address validation failure
Address validation failure
- Verify your address via USPS Address Lookup
- Use the exact USPS-standardized format
- Include suite/unit numbers if applicable
- Update the brand and re-submit
Website URL unreachable or doesn't match
Website URL unreachable or doesn't match
- Website is down or returns errors
- URL redirects to a different domain
- Website content doesn’t match the business name
- Ensure your website is live and loads without errors
- Use the root domain (e.g.,
https://example.com, not a deep link) - Verify the website clearly identifies your business name
- Don’t use placeholder/under-construction pages
Duplicate brand — already registered
Duplicate brand — already registered
- Check your existing brands:
GET /v2/10dlc/brand - If registered under another account, contact Telnyx support to transfer ownership
- If registered through another CSP, you can still create campaigns through Telnyx as a secondary CSP
Duplicate vetting, already submitted
Duplicate vetting, already submitted
400 / code 10012. The detail message reads “An external vetting for evpId ‘X’ and vettingClass ‘Y’ already exists for this brand” or “is already being processed for this brand.”Root cause: A successful vetting for the same (evpId, vettingClass) exists within the last 180 days, or one is currently being processed.Fix:- Retrieve existing vettings:
GET /v2/10dlc/brand/{brandId}/externalVetting - To order a different vetting, use a different
vettingClass(for exampleENHANCEDinstead ofSTANDARD) or a differentevpId - Failed vettings are excluded from this check, so you can retry immediately after a real failure
- Successful vettings expire after 6 to 12 months; once expired (TCR
EXPIREDstatus), re-submission is allowed
Low vetting score
Low vetting score
- Review your brand profile for accuracy — incomplete or inconsistent data lowers scores
- Ensure your website, social media, and public records align with your brand information
- Request a re-vet after updating information (each vetting attempt has a fee)
- See 10DLC Rate Limits for score-to-throughput mapping
Sole proprietor OTP verification failure
Sole proprietor OTP verification failure
- Ensure the phone number on file can receive SMS
- Request a new OTP and complete verification within the time window
- Check that the phone number matches your identity documents
- See the Sole Proprietor guide for detailed steps
Check brand status via API
Campaign rejection reasons
Campaign rejections happen during carrier review. The rejection reason is delivered via 10DLC Event Notifications webhooks.Writing samples that pass review
Match your declared use case exactly
✅ “Hi Jane, your support ticket #4521 has been resolved. Reply HELP for assistance or STOP to opt out.”
❌ “Flash sale! 50% off today only!” (this is marketing, not customer care)
Include opt-out in every sample
✅ “Your order #1234 has shipped. Track: https://example.com/track. Reply STOP to unsubscribe.”
Use realistic content — no placeholders
❌ “This is a test message” ❌ “Hello , this is ”
✅ “Hi Sarah, your appointment at Downtown Clinic is confirmed for March 5 at 2:00 PM. Reply C to confirm or R to reschedule. Reply STOP to opt out.”
Show variety in your samples
- Confirmation messages
- Follow-up messages
- Status update messages
- Opt-in confirmation messages
Resubmitting after rejection
You cannot edit a rejected campaign. Create a new one with corrected information:Phone number assignment failures
After campaign approval, you must assign phone numbers to the campaign. Failures typically involve number eligibility or carrier registration issues.Number not eligible for 10DLC
Number not eligible for 10DLC
- A toll-free number (use toll-free verification instead)
- A short code
- Not provisioned for messaging
- Already assigned to another campaign
- Verify the number type:
GET /v2/phone_numbers/{id} - Ensure it’s a standard long code (10-digit US number)
- Enable messaging on the number if not already configured
- Unassign from any existing campaign before reassigning
AT&T registration timeout
AT&T registration timeout
- Wait 7 business days before escalating
- Check the number’s registration status via webhooks or API
- If still pending after 7 days, contact Telnyx support
T-Mobile number rejection
T-Mobile number rejection
- Ensure your brand vetting score is sufficient
- Verify the campaign isn’t flagged or suspended
- Try reassigning the number after the campaign is fully approved
- Contact Telnyx support if the issue persists
Bulk assignment partial failure
Bulk assignment partial failure
Message delivery failures
Even with approved campaigns and assigned numbers, messages can still fail. These are the most common 10DLC-specific delivery errors.Debugging delivery issues
Carrier-specific issues
Each major US carrier handles 10DLC differently. Here are carrier-specific behaviors to be aware of:AT&T
T-Mobile
Verizon
Diagnostic checklist
Use this checklist when troubleshooting any 10DLC issue:Verify brand status
GET /v2/10dlc/brand/{brandId} — confirm identityStatus is VERIFIED or VETTED_VERIFIEDVerify campaign status
GET /v2/10dlc/campaign/{campaignId} — confirm campaignStatus is ACTIVEVerify number assignment
GET /v2/10dlc/phoneNumberCampaign?phoneNumber={number} — confirm the sending number is assigned to the active campaignCheck event notifications
Review message detail records
Check rate limits