Issue
If your A2P 10DLC campaign registration is rejected, read the error code and full rejection details for that campaign. The next step depends on whether the issue can be corrected, whether the campaign is eligible for resubmission, and which changes the registration workflow allows.
Product
Programmable Messaging
Environment
legacy Twilio Console
Resolution
What changes on September 15, 2026?
From September 15, 2026, new shared error codes identify more specific rejection reasons for A2P 10DLC and Toll-Free Verification. These include individual CTA disclosures, Terms of Service disclosures, and consent requirements. Existing codes remain relevant when they are returned in your rejection details.
A shared error code does not automatically make an A2P 10DLC campaign eligible for resubmission. Follow the eligibility in your rejection details and the applicable code guidance. The September 15 URL corrections for 30963 and 30964 allow correction and resubmission once the affected URLs comply; they do not change prohibited-content eligibility.
How do I resolve a rejection?
- Open the failed campaign and record every error code and rejection reason.
- Correct the actual business information, campaign description, consent flow, linked pages, and samples involved. These must describe the same sender and actual messaging use case.
- If the campaign is eligible and an edit/resubmit option is available for your account, update the existing campaign and submit it for review.
- If the required field cannot be edited, or the correction concerns the associated Brand, follow the applicable registration workflow or contact Support. Deleting and recreating a campaign is not required for every rejection and can have registration and billing consequences.
See Troubleshooting and rectifying A2P Campaigns for the available Console/API procedures and their feature-availability requirements. Prepare corrected evidence using the A2P 10DLC Campaign Onboarding Guide.
Is my campaign eligible for resubmission?
- Correctable registration issue: Fix all identified issues and use the resubmission procedure available for your campaign. A correction does not guarantee approval.
- Ineligible or prohibited use case: Do not resubmit the same prohibited messaging with a different description. Contact Support if you believe the decision is incorrect.
- Eligibility is unclear: Include the campaign identifier, error code, and rejection details in a Support request. Do not infer A2P eligibility from the same code's Toll-Free guidance.
For a rejection before September 15, follow the instructions supplied with that decision. The tables below describe the September 15 wording and the existing code-specific guidance that remains applicable.
Avoid fixing the wrong part of the submission
- A required disclosure in the CTA must appear where consent is collected; putting it only in Terms of Service may not resolve the CTA error.
- Missing opt-out instructions (30547) and present but noncompliant instructions (30539) are separate failures.
- For a missing required live opt-in link (30543), use the requirements for your actual method and program. Other accepted evidence methods retain their own requirements.
- Correct the actual use case and evidence. Renaming personal or person-to-person traffic does not make it eligible for this registration program.
- Conditional informational-use guidance under 30565 does not permit an otherwise prohibited business or content category and does not replace the existing 30941 guidance.
Find your error code
Search for the exact number in your rejection. The tables summarize corrective checks; the linked error page contains the complete conditions. Granular codes introduced before September 15 remain existing codes, not new September additions.
Existing campaign registration codes
| Error code | What it means | What to correct or check |
|---|---|---|
| 30880 | Campaign vetting rejection - Unknown Error | Review the failed campaign in Console or in the API response and look for any additional error codes. Fix the more specific rejection reasons first if they are present. Review the campaign submission against A2P 10DLC approval requirements. Make sure the Brand, website, message flow, use case, and sample messages all describe the same sender and the same messaging program. |
| 30881 | Campaign vetting rejection - Invalid Brand Support Email | Update the brand support email so it is a real, working address for the business you are registering and uses a domain associated with that brand. Do not use a disposable email address. Review the brand name, website, campaign description, message flow, and sample messages so they all identify the same business and use case. |
| 30882 | Campaign vetting rejection - Terms & Conditions | Add a TermsAndConditionsUrl to your campaign registration request. The URL must be publicly accessible, not behind a login, and point to terms and conditions relevant to your registered brand. Update your terms and conditions and consent flow so end users give consent directly to your brand and mobile opt-in data is not shared with third parties or affiliates for marketing or promotional purposes. For more information, see A2P 10DLC campaign approval requirements. |
| 30883 | Campaign vetting rejection - Content Violation | Do not resubmit the same rejected campaign. This rejection type is not eligible for standard resubmission. If you believe the rejection is incorrect, contact Twilio Support and request an appeal. |
| 30884 | Campaign vetting rejection - Spam/Phishing | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30885 | Campaign vetting rejection - High Risk | Do not resubmit the same rejected campaign. This rejection category is not remediated by editing and resubmitting the existing campaign. If you plan to register a different campaign, materially change the campaign content or use case and make sure it matches your actual opt-in flow, sample messages, and messaging practices. |
| 30886 | Campaign vetting rejection - Invalid Campaign Description | Rewrite the campaign description so it clearly states the sender, the intended recipients, and the purpose of the messages. Make the description specific enough to describe the real messaging program. |
| 30887 | Campaign vetting rejection - Opt-out Error | Update your Call-to-Action and Message Flow so they clearly describe how an end user can opt out. If you manage opt-outs yourself, provide every configured value for opt_out_keywords, such as STOP, UNSUBSCRIBE, END, QUIT, or HALT when those keywords are supported by your application. |
| 30888 | Campaign vetting rejection - Age Gate Not Present / Not Acceptable | Add a robust age gate to your website or opt-in flow before users can access age-restricted content or opt in to messages. Use an age verification method that can demonstrate the required minimum age, such as collecting a full date of birth or using a third-party age verification service. |
| 30889 | Campaign vetting rejection - Embedded Phone Number | If your campaign sends messages with phone numbers, update your sample messages so they include representative phone numbers that match the actual message content you plan to send. Submit 2 to 5 clear sample messages that reflect your real traffic, and make sure at least one sample message identifies your brand by name or website. |
| 30890 | Campaign vetting rejection - Subscriber Help | Update the help_message so it identifies your brand and includes a valid support phone number or email address. Make sure the help response clearly tells end users how to get assistance after they reply with a help keyword. |
| 30891 | Campaign vetting rejection - Invalid Website URL | Verify that the provided website(s) are functioning correctly, and accessible. If the website(s) are geographic specific, please indicate this in the campaign description and provide a link to a screenshot. If the registration is for a pre-launch website, instead include a publically accessible URL to view a screenshot of the SMS opt-in flow that will appear. |
| 30892 | Campaign vetting rejection - Invalid Sample Message - Public URL Shorteners | Remove any shared public shortener links from your sample messages and replace them with a direct business URL or a branded short URL that belongs to your business. Update the sample message so every URL is secure and publicly accessible for review. |
| 30893 | Campaign vetting rejection - Inconsistency between Sample Message and Use-case | Verify that the sample messages are accurate, detailed, and reflective of the actual messages to be sent under the campaign. Indicate templated fields within sample messages using brackets. |
| 30894 | Campaign vetting rejection - Invalid Brand Information | Register the campaign under the brand that actually sends the messages. If you are onboarding customers, use that customer's business details when you create the Customer Profile and Brand. Update the campaign description so it clearly identifies who is sending the messages, who receives them, and why they are being sent. Make sure the description matches the registered brand details and the selected use case. |
| 30895 | Campaign vetting rejection - Direct Lending - Campaign and Content Attribute Error | Edit the failed Campaign and update the Campaign description so it clearly states who is sending the messages, who receives them, and why. If the business engages in direct lending, include Direct Lending in that description. If you resubmit in Console, select the message content option for direct lending or loan arrangements. |
| 30896 | Campaign vetting rejection - Opt-in Error | Rewrite the message_flow so it clearly explains how end users consent to receive messages. Include who is opting in, where the opt-in happens, and how the campaign collects consent. If you support more than one opt-in path, list every method. If opt-in happens on a website, provide the website URL, a link to the privacy policy, and terms of service. If the opt-in flow is behind a login or collected on paper, provide a hosted screenshot or document that shows the exact opt-in language and form. |
| 30897 | Campaign vetting rejection - Disallowed Content | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30898 | Campaign vetting rejection - Excessive EIN | Review all existing A2P 10DLC Brand registrations that use the same EIN. Remove unnecessary duplication and keep only the minimum number of Brands needed for distinct business identities or use cases. Use an existing approved Brand when the business identity is the same, instead of creating another Brand with the same EIN. Then resubmit the Campaign under the correct Brand if needed. |
| 30899 | Campaign registration failed due to carrier rejection(s) | Fetch the Usa2p resource for the Messaging Service and review the campaign_status and errors fields to identify any related rejection codes, descriptions, and affected fields. Update the campaign so the registered brand, website, sample messages, use case, and message flow are accurate, complete, and consistent. Make sure your opt-in flow and required disclosures are clearly documented before you resubmit. |
| 30900 | Campaign rejection - The campaign use case is ineligible for registration. | Retrieve the available A2P 10DLC use cases for the brand and submit one of the returned code values. Review your campaign description, message flow, sample messages, and opt-in and opt-out details. Make sure they match the selected us_app_to_person_usecase. |
| 30901 | Campaign rejection - The campaign registration request timed out. | Check the campaign in Messaging > Regulatory Compliance > Campaigns or fetch the UsAppToPerson resource. If campaign_status is FAILED, review the errors list to identify the rejected fields and correct them before you resubmit. Review the campaign before you resubmit it. Make sure the selected use case matches your actual traffic and that the campaign description, sample messages, message flow, opt-in process, website, and brand details are complete and consistent. |
| 30902 | Campaign rejection - A DCA2 rejected this campaign registration request. | Review the campaign failure_reason in Console or API and update the specific fields that were rejected. In many cases, you can correct the campaign details and resubmit the same campaign for another review. Rewrite your campaign description so it clearly states who is sending messages, who receives them, and why the messages are being sent. |
| 30903 | Campaign rejection - Incorrect Sole Prop Brand Registration | Confirm that the business is eligible for a Sole Proprietor Brand before you resubmit. If the business has a tax ID, register it as a Low-Volume Standard or Standard Brand instead. Review the business details used for registration and correct them before resubmitting. Use the real business name or DBA, a valid email address, a valid US or Canadian address, and a valid US or Canadian mobile number for verification. Do not use a CPaaS number for the verification mobile number. |
| 30904 | Campaign Not Shared with Twilio | Ensure that the Campaign has been successfully shared with Twilio as the DCA and has received approval. Confirm that the entered CampaignID is accurate. |
| 30905 | Campaign Review Pending by Twilio | Await the CAMPAIGN_SHARE_ACCEPT webhook from TCR before assigning the Messaging Service to the CampaignID. Note: Campaign will remain in a 'FAILED' state until the Messaging Service is successfully re-attached. |
| 30906 | Campaign Rejected by Twilio | Revise the Campaign details to address the compliance issues and re-share the Campaign with Twilio's DCA for another review. For further clarification and resolution, contact Twilio Customer Support. |
| 30907 | Campaign vetting rejection - Website URL Validation Issue | Submit a live business website that represents the same business named in your brand registration. Update the website URL, business name, campaign description, consent flow, and sample messages so they all describe the same sender and the same messaging use case. |
| 30908 | Campaign vetting rejection - Compliant Privacy Policy Required | Provide a publicly accessible Privacy Policy for the registered business and include its direct link in the campaign submission and consent-flow evidence. Follow the linked code for the correct submission fields. |
| 30909 | Campaign rejected: Message Flow or Call to Action incomplete/unverified | Describe every consent method from start to finish and provide reviewable evidence, including applicable website, Terms, and Privacy Policy links. Include required program disclosures in the CTA and Terms, and the required data-protection language in the Privacy Policy. |
Granular campaign registration checks
| Error code | What it means | What to correct or check |
|---|---|---|
| 30910 | Campaign rejected: A2P 10DLC campaigns must be submitted in English | Rewrite all campaign registration fields in English before you resubmit the campaign. If your end-user disclosures or message samples are presented in another language, include an English translation in the registration details and in message_flow for verification. |
| 30911 | Campaign rejected: Duplicate template text; each field must be unique | Rewrite each registration field for its specific purpose. In description, explain who sends the messages, who receives them, and why the messages are sent. Update message_flow with a complete, verifiable opt-in workflow. List every opt-in method you use, and include the relevant website, terms, privacy policy, or hosted screenshots when the opt-in flow is not publicly accessible. |
| 30912 | Campaign rejected: A2P 10DLC is for application-to-person messaging only | Update the campaign description so it clearly explains the business or application sending the messages, the intended recipients, and the reason each recipient receives them. Make sure the description aligns with the selected us_app_to_person_usecase. Describe the application layer in your submission. Explain what system, software, or workflow triggers the messages, because A2P messaging must be sent from an application rather than from one individual to another. |
| 30913 | Campaign rejected: Marketing and informational consent must be separate | Create a separate opt-in control for marketing messages, such as its own unchecked checkbox, signed form section, or text-in keyword flow. Keep informational or transactional consent separate from marketing consent. If your campaign uses more than one opt-in method, list every method in message_flow. |
| 30914 | Campaign rejected: sole proprietor campaign title does not match sole proprietor name | Match the campaign title to your registered name. Resubmit the campaign with a title that matches or closely aligns with the sole proprietor name registered with your brand. Update your brand registration. If your sole proprietor name has changed, update your brand registration first, then resubmit the campaign. |
| 30915 | Sole Proprietor classification is invalid - business is a registered legal entity | If the business is an LLC, corporation, partnership, or any other entity with a tax ID (EIN or Canadian Business Number), register it as a Standard or Low-Volume Standard Brand instead of using the Sole Proprietor flow. If you are a true sole proprietor, resubmit the registration with the proprietor's first and last name, and make sure first_name, last_name, and email reflect that same individual. |
| 30916 | Campaign rejected: Use case mismatch between lead generation and lead nurture | Select the use case that best represents the actual traffic for the campaign. Rewrite the description so it clearly identifies the sender, the recipients, and the purpose of the messages. |
| 30917 | Campaign rejected: All opt-in methods must include complete workflow descriptions | For each opt-in method you selected, describe the full end-user journey from the first prompt through the consent action. Explain where the opt-in occurs, what disclosure language the consumer sees, and what specific action confirms consent. |
| 30918 | Campaign rejected: DBA name does not match the legal business name on file | Update the brand or campaign so the business name matches the exact legal business name on the CP 575 notice or 147c letter. Do not use the legal business name from a W2 or W9 for US entity registration. If you operate under a different customer-facing name, update your brand registration to include the DBA before you resubmit the campaign. |
| 30919 | Campaign rejected: Website lacks sufficient business or messaging use case info | Update the website so it clearly shows your business name, contact information, and a clear description of your products or services. Make the messaging use case explicit. Explain what messages you send, who receives them, and how customers opt in. Align this with the Campaign description you submit. |
| 30920 | Campaign rejected: Website is only a form; insufficient business context | Submit your main business website instead of a campaign-specific landing page or lead capture form. Add clear business information that identifies the brand behind the campaign and explains how end users consent to receive messages. |
| 30921 | Campaign rejected: Website requires authentication and cannot be reviewed | Submit a publicly accessible website URL that reviewers can open without signing in. If your opt-in flow or required information is behind a login or not yet live, provide a publicly accessible URL with hosted screenshots of the relevant pages in your message_flow or Call to Action details. |
| 30922 | Campaign rejected: Website does not meet campaign verification requirements | Submit a live, publicly accessible business website that loads correctly and clearly represents your business. Make sure the website matches the business name, campaign description, sample messages, and opt-in method in your registration. |
| 30923 | Campaign rejected: Message consent cannot be required for service use | Update your opt-in flow so users can access the service, create an account, or complete a purchase without being required to consent to messaging. Separate messaging consent from required service terms. Use a distinct opt-in action that specifically covers the messages you plan to send. |
| 30924 | Campaign rejected: Missing or non-compliant consent agreement language in opt-in flow | Add compliant consent language to your opt-in flow that includes: (1) the type of messages the consumer will receive, (2) message frequency, (3) "Message and data rates may apply," and (4) opt-out instructions such as "Reply STOP to unsubscribe." Review CTIA guidelines for short code and messaging compliance to ensure your consent language meets industry standards. |
| 30925 | Campaign rejected: Opt-in must be unchecked by default; active consent required | Add a separate checkbox or similar control for messaging consent. Leave it unchecked by default and require the consumer to actively select it. Keep messaging consent separate from acceptance of general Terms of Service or Privacy Policy. |
| 30926 | Campaign rejected: Multiple companies cannot share a single campaign | Register a separate Brand for each company or client that sends messages. Then create each Campaign under the correct Brand. Update the campaign so the brand name, website, consent materials, and sample messages all describe the same sender. |
| 30927 | Campaign rejected: Opt-in evidence is for a different company | Submit opt-in evidence that exactly matches the registered brand name and branding for the campaign. Make sure the company name, logo, and website shown in the evidence are consistent with the brand registration. Review the brand registration details first, then update the campaign submission so the brand and campaign information refer to the same company. |
| 30928 | Campaign rejected: Social influencer/public figure use case not permitted | If the sender operates a legitimate business, register that business and submit a campaign that reflects the business use case, such as customer care, account notifications, or marketing. Update the campaign description, sample messages, and consent details so they clearly identify the business, the recipients, and why the messages are being sent. |
| 30929 | Campaign rejected: Emergency alert notifications are not a permitted use case | If your messages are not true emergency notifications, update the campaign to the business use case that matches your traffic, such as SECURITY_ALERT, ACCOUNT_NOTIFICATION, or PUBLIC_SERVICE_ANNOUNCEMENT. Rewrite the campaign description and sample messages so they clearly reflect the actual purpose of the messaging and do not describe emergency alerting if that is not your use case. |
| 30930 | Campaign rejected: Brand campaign limit of 100 reached | Review the brand's existing campaigns in Twilio Console or through the API and identify campaigns you no longer need. Delete only unused campaigns before you submit another campaign registration. |
| 30931 | Campaign rejected: Opt-in process must allow consumers to decline | Make SMS consent optional so the consumer can complete the main action without joining the messaging campaign. Use a separate consent step for messaging. If you use a checkbox, leave it unchecked by default. |
| 30932 | Campaign rejected: Privacy policy must disclose third-party data sharing | Update your privacy policy to clearly state that mobile opt-in data and consent will not be shared or sold to third parties, affiliates, or lead generators for marketing or promotional purposes. Remove or revise any privacy policy language that suggests SMS consent can be shared, rented, transferred, or sold. |
| 30933 | Campaign registration rejected: Privacy Policy URL is required for A2P 10DLC campaign registration | Add PrivacyPolicyUrl to your API request: Include the PrivacyPolicyUrl parameter in every campaign creation request. The value must be a valid, publicly accessible HTTPS URL pointing to the business's privacy policy page. Collect privacy policy URLs from your customers: If you are an ISV, update your customer onboarding flow to require a privacy policy URL before submitting campaign registrations. |
| 30934 | Campaign registration rejected: Terms and Conditions URL is required for A2P 10DLC campaign registration | Add TermsAndConditionsUrl to your API request: Include the TermsAndConditionsUrl parameter in every campaign creation request. The value must be a valid, publicly accessible HTTPS URL pointing to the business's terms and conditions page. Collect terms and conditions URLs from your customers: If you are an ISV, update your customer onboarding flow to require a terms and conditions URL before submitting campaign registrations. |
Granular content, URL, and business checks
| Error code | What it means | What to correct or check |
|---|---|---|
| 30940 | Campaign rejected: Cannabis, CBD, or illegal substance content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30941 | Campaign rejected: Prescription drug or controlled substance content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30942 | Campaign rejected: Loan marketing content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30943 | Campaign rejected: Third-party debt collection content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30944 | Campaign rejected: Gambling or betting content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30945 | Campaign rejected: Sweepstakes or contest content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30946 | Campaign rejected: Stock alert content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30947 | Campaign rejected: Cryptocurrency content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30948 | Campaign rejected: High-risk investment content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30949 | Campaign rejected: Debt reduction or consolidation content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30950 | Campaign rejected: Credit repair content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30951 | Campaign rejected: Third-party lead generation or MLM content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30952 | Campaign rejected: Non-federally compliant use case detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30953 | Campaign rejected: sex or adult content violation detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30954 | Campaign rejected: hate speech or violent content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30955 | Campaign rejected: alcohol promotion content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30956 | Campaign rejected: alcohol content without required age verification detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30957 | Campaign rejected: firearms or explosives content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30958 | Campaign rejected: tobacco or vape content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30959 | Campaign rejected: fraudulent or misleading content detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30960 | Campaign rejected: known phishing campaign detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30961 | Campaign rejected: high-risk domain reputation detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30962 | Campaign rejected: deceptive marketing practices detected | This rejection is ineligible for resubmission under the existing code-specific guidance. Do not resubmit the same prohibited use case. Contact Support if you believe the classification is incorrect; review the linked code for its restrictions. |
| 30963 | Campaign rejected: public URL shortener detected in campaign | Replace public shorteners with compliant branded destination URLs. From September 15, 2026, this URL issue is eligible for correction and resubmission once the URLs comply. |
| 30964 | Campaign rejected: non-secured URL (http://) detected | Replace HTTP links with working HTTPS URLs throughout the affected campaign content. From September 15, 2026, this URL issue is eligible for correction and resubmission once the URLs comply. |
| 30971 | Business contact email cannot be verified | Use an email address whose association with the business can be verified. Prefer the business domain where available; provide verifiable public evidence for an eligible free-provider address. |
| 30972 | Campaign rejected: Contact must be an authorized business representative | Use an authorized representative: Update the campaign registration with the name and contact details of someone who is a verified employee or officer of the business. Ensure email matches business domain: The contact email should use the company's official domain and match the individual listed. |
Other account and registration-operation errors
These codes concern account limits or registration operations. They are not all content-vetting rejections.
| Error code | What it means | What to correct or check |
|---|---|---|
| 30990 | Campaign Suspension | Check your email and the Twilio Support Center for the suspension notice and the next steps to resolve it. Review the suspension reason and correct the underlying compliance issue before you try to use the campaign again. |
| 30991 | Campaign Registration Failed | Check the Brand in Console or retrieve the BrandRegistration resource and review the status and identity_status fields. Update the Brand details so they exactly match your legal business records, including your legal company name and tax identifier, then resubmit the Brand registration. |
| 30992 | Campaign Registration Failed | Start the Connectivity Partner Migration to Twilio for the affected campaign and allow the process to complete, then retry the registration. After the campaign is accepted by Twilio, associate it with a Messaging Service and if using the API set the CnpMigration parameter to True to indicate the campaign was shared through CNP migration. |
| 30993 | Campaign Registration Failed | Confirm all CNP migration approvals are complete and verify the campaign is ready by fetching campaign details and ensuring the campaign status is verified before sending. If the association failed due to rate limiting or similar asynchronous failure, delete the external campaign association in Twilio, reshare the campaign to Twilio via TCR, then re associate it. |
| 30994 | Campaign Registration Failed | Check the brand status in Console or with the BrandRegistration API. Retry campaign registration only after the brand status is APPROVED. If you are registering a public brand, ask the brand contact to complete the Authentication+ email verification. The verification email is required before you can register new campaigns for that brand. |
| 30995 | Messaging Service size limit reached | This is a Messaging Service account-limit error, not a campaign content rejection. Review unused services or contact Support about the limit; follow the linked error page. |
New shared error codes from September 15, 2026
These codes use the same rejection meaning for Toll-Free Verification and A2P 10DLC. Follow the correction for the code you received. The shared number does not mean that every program has the same resubmission procedure.
| Error code | What it means | What to correct or check |
|---|---|---|
| 30497 | Use case summary is incomplete or unrelated to the messaging | Explain who sends the messages, who receives them, what the messages contain, and why recipients receive them. Include details for each selected use case. |
| 30532 | Personal use cases are not supported | Personal messaging is unsupported. If the description is inaccurate, correct it to reflect your actual business messaging and provide matching evidence; do not simply relabel personal traffic. |
| 30533 | Person-to-person (P2P) use cases are not supported | Person-to-person messaging is unsupported by this registration program. Correct an inaccurate description only when the actual messaging is application-to-person business messaging. |
| 30534 | Testing use case is missing business or program details | Provide complete business information and describe the testing program, intended recipients, and supporting evidence. Identify the internal testing audience and confirm there are no external recipients. |
| 30535 | Viral messaging is missing required compliance disclosures | Document a one-time, consumer-initiated flow with prior recipient consent, individually selected recipients, sender identity, purpose, and opt-out instructions. Include the required CTA disclosures; do not use bulk selection or referral incentives. See the linked code for the complete requirements. |
| 30536 | Privacy policy URL is missing, inaccessible, or empty | Provide an active, publicly accessible Privacy Policy URL containing the policy text and required disclosures. A missing Terms of Service URL is a separate issue. |
| 30537 | Business model does not match the messaging use case | Align the actual messaging program, business model, website, and registration details. |
| 30538 | A message sample is missing for a selected use case | Provide a distinct, representative message sample for every selected use case. |
| 30539 | Call-to-Action opt-out instructions are present but noncompliant | Replace present but noncompliant CTA opt-out instructions with valid keyword instructions, such as “Reply STOP to opt out.” Entirely missing instructions are covered by 30547. |
| 30540 | Double opt-in confirmation message is required | Provide the required double opt-in confirmation message, including the brand/program, rates disclosure, HELP instructions, and opt-out instructions. |
| 30541 | Political campaign is missing an FEC or state committee ID | Provide the FEC committee ID or applicable state-level equivalent for the political organization. This is separate from a Campaign Verify token. |
| 30542 | Political messaging must use the Political use case category | Select the Political use case where applicable, align the description and samples, and provide the required program-specific political verification details. |
| 30543 | Live opt-in link not provided | For an opt-in method that requires a live website link, provide the direct active landing-page URL. Other accepted methods must supply the evidence required for that method and program. A supplied inaccessible TFV URL is a separate 30509 issue. |
| 30544 | Call-to-Action does not state the message purpose | State the purpose and type of messages in the Call-to-Action (CTA), such as appointment reminders or marketing offers. |
| 30545 | Call-to-Action does not state message frequency | State message frequency in the CTA, using wording that matches the program, such as “Message frequency varies” or “One message per request.” |
| 30546 | Deadline to correct the opt-in process has expired | Complete the changes requested during the previous review and provide evidence of the corrected opt-in. This code concerns an expired remediation deadline, not an independent determination that subscriber consent expired. |
| 30547 | Call-to-Action is missing opt-out instructions | Add missing opt-out instructions to the CTA, such as “Reply STOP to opt out.” Present but noncompliant instructions are covered by 30539. |
| 30548 | Charitable program does not separate consent for donation requests | Collect separate, optional consent for donation solicitations and informational messages. Show that subscribers can receive informational updates without agreeing to donation requests. |
| 30549 | No Terms of Service link found in the opt-in flow | Place a visible, accessible Terms of Service link in or immediately next to the CTA. |
| 30550 | No Privacy Policy link found in the opt-in flow | Place a visible, accessible Privacy Policy link in or immediately next to the CTA. |
| 30551 | Consent does not specify SMS or text messaging | State explicitly that consent covers SMS or text messages. |
| 30552 | Opt-in is not customer-facing | Provide the customer-facing consent flow. An internal admin setting or a staff-selected CRM checkbox alone does not demonstrate the customer’s consent. |
| 30553 | SMS is forced for two-factor authentication | Provide an alternative to SMS for completing authentication, such as email, so customers are not forced to enroll in SMS. |
| 30554 | Charitable donations collected insecurely over SMS | Direct donors to a secure external HTTPS donation page. Do not collect, authorize, or complete donations through text-based payment responses. |
| 30555 | First message sent without documented prior consent | Provide evidence that the customer actively consented before the first message was sent. |
| 30556 | SMS consent is bundled with other communication channels | Allow customers to choose SMS independently of email, voice, or other communication channels. |
| 30557 | Terms of Service missing business or program name | Identify the sending business or program in the Terms of Service. A name missing specifically from the CTA is covered by 30568. |
| 30558 | Terms of Service missing message frequency disclosure | State the message frequency in the Terms of Service, matching the actual program. |
| 30559 | Terms of Service missing product description | Describe the messaging product or program and the types of messages in the Terms of Service. |
| 30560 | Terms of Service missing customer support information | Add a working customer-support contact to the Terms of Service. Missing CTA support instructions are covered by 30570. |
| 30561 | Terms of Service missing opt-out information | Add clear opt-out instructions to the Terms of Service, including an appropriate opt-out keyword such as STOP. |
| 30562 | Terms of Service missing message and data rates disclosure | Include “Message and data rates may apply” in the Terms of Service. A rates disclosure missing from the CTA is covered by 30569. |
| 30563 | Terms of Service missing carrier liability disclosure | State in the Terms of Service that wireless carriers are not liable for delayed or undelivered messages. |
| 30564 | Terms of Service and Privacy Policy links not near opt-in | Place clearly labeled Terms of Service and Privacy Policy links close to the CTA or opt-in section. |
| 30565 | Promotional messaging for prescription drugs or GLP-1 products is not permitted | Promotional messaging for prescription drugs or GLP-1 products is not permitted. For an otherwise permitted business and use case, remove promotional content, provide evidence of the actual informational messaging, and include the required age statement in the Terms. This exception does not permit an otherwise prohibited business or controlled-substance use case. |
| 30566 | Academic Fraud and Cheating Services Are Prohibited | Academic fraud and cheating-service messaging is prohibited. If the rejection misclassifies your business, provide evidence for a review; do not submit the same prohibited service under a different description. |
| 30567 | Phishing and Simulated Phishing Messages Are Prohibited | Phishing and simulated phishing messages are prohibited. If you believe the classification is incorrect, provide evidence for review. |
| 30568 | Call-to-Action is missing the business or brand name | Name the sender in the CTA and match the registered business or brand. Example element: “Receive order updates from Acme.” This is not a complete CTA. A name missing from Terms is covered by 30557. |
| 30569 | Call-to-Action is missing the message and data rates disclosure | Add the exact disclosure “Message and data rates may apply” where consumers consent. This is one CTA element, not a complete CTA. Terms disclosures are separately covered by 30562. |
| 30570 | Call-to-Action is missing customer support instructions | Add CTA support instructions using HELP, such as “Reply HELP for help.” This is one CTA element, not a complete CTA. Terms support is covered by 30560; Toll-Free automated HELP-response requirements are covered by 30486. |
What if I believe the rejection is incorrect?
Contact Twilio Support with the campaign identifier, business name, error code, rejection details, and evidence supporting the appeal. Use the subject “10DLC Campaign Appeal for [business name or number].”
Will editing or recreating a campaign affect charges?
Editing an existing campaign and creating a new campaign are different operations. Review the current workflow and applicable charges before deleting a campaign. For help choosing the right correction process, use the campaign troubleshooting guide or contact Support.
Additional resources
- A2P 10DLC Campaign Onboarding Guide
- Troubleshooting and rectifying A2P Campaigns
- Twilio Messaging Policy
If your returned code is not listed here, open its Twilio error-code reference or contact Support. Do not replace it with a similar code from this article.