Skip to main content

A2P 10DLC Rejection Required Fixes

When an A2P 10DLC campaign is rejected, Kyrios shows structured rejection details so you can identify the issue, make the required correction, and resubmit when eligible.

What Changed

Rejected A2P 10DLC campaigns include a View required fixes → link beside each rejection reason. Clicking the link opens a modal with structured details about the rejection.


Required Fixes Modal

The Required Fixes modal explains exactly what needs to be corrected before resubmission. The modal includes:

Field

What it shows

Error code

The carrier rejection code

Rejection category

A readable category for the issue

What it means

Why the campaign failed review

Correction needed

The exact change needed before resubmitting


How to View Required Fixes

  1. Open the A2P 10DLC campaign registration area.

  2. Locate the campaign with Rejected status.

  3. Review each listed failure reason.

  4. Click View required fixes →.

  5. Read the error code, category, meaning, and correction needed.

  6. Fix every listed issue.

  7. Click Re-Submit after all required fixes are complete.

A campaign can have more than one rejection reason. Review and fix every listed reason before resubmitting.


Rejection Codes Eligible for Resubmission

The codes in this section can usually be corrected and resubmitted after the required changes are made.


Opt-In and Consent Rejections

Error code

What it means

Correction needed

30909

Call-to-action or message flow cannot be verified.

Provide complete CTA information and all consent methods. If consent is behind a login, provide hosted screenshots.

30913

Marketing consent is not separate from informational or transactional consent.

Add separate promotional consent, or clarify that only transactional messages are sent.

30917

Multiple opt-in methods were selected but not described.

Describe every selected opt-in method.

30923

Messaging consent is bundled into mandatory terms.

Make SMS opt-in separate and optional.

30924

Consent language is missing required disclosures.

Add message type, frequency, message/data rates notice, and STOP instructions.

30925

Opt-in checkbox is missing or pre-selected.

Add an unchecked SMS consent checkbox.

30931

Opt-in flow does not allow users to decline messaging.

Add a skip option or unchecked checkbox.

30932

Privacy policy says opt-in data is shared for marketing.

State that mobile information is not shared with third parties for marketing.

30896

Opt-in workflow is missing, incomplete, or shared with third parties.

Update opt-in details, provide screenshots or links, include privacy policy and terms, and confirm consent is not shared.

30887

Opt-out workflow is unclear or missing.

Add opt-out keywords and an opt-out reply that includes acknowledgement, no-further-message confirmation, and brand name.

30890

HELP reply is missing required business contact details.

Include brand name, phone number, or email address in the HELP response.


Website Rejections

Error code

What it means

Correction needed

30919

Website lacks business details or messaging disclosure.

Add company name, services, contact information, privacy policy, and SMS program details.

30920

Website is only a form without business context.

Add company name, business description, and contact information.

30921

Website requires login and cannot be reviewed.

Create a public page that describes the business and messaging program.

30922

Website is under construction or uses a non-standard URL.

Provide a functioning standard URL, or explain pre-launch status and provide screenshots.

30891

Invalid website URL was provided.

Verify the website works, or explain that the registration is for a pre-launch website.

30907

Website does not match campaign or brand details.

Align the website with the registered brand and campaign description.

30908

Privacy policy is missing or inaccessible.

Provide a direct, accessible privacy policy link in the message flow.

30888

Age gate is missing.

Add a robust age gate to the website or opt-in flow.


Business Identity Rejections

Error code

What it means

Correction needed

30914

Sole proprietor campaign content does not match registered name.

Align campaign description, messages, and website with the registered name.

30915

Registered as sole proprietor but using a corporate name.

Register as a standard brand using EIN and corporate information.

30918

DBA name does not match legal name on file.

Update brand registration to include the DBA name.

30926

Campaign references multiple companies or brands.

Register a separate campaign for each brand.

30927

Opt-in evidence shows a different company.

Ensure opt-in evidence matches the registered campaign brand.

30971

Contact email uses a personal domain.

Use a business email address.

30972

Contact person is not authorized.

Use an authorized representative of the registered business.

30881

Brand support email is invalid or uses a public domain.

Use a valid business-domain support email.

30894

Campaign is associated with the wrong brand.

Verify the campaign is linked to the correct brand.

30903

Brand does not meet Sole Proprietor EIN criteria.

Register as a standard brand and use a matching standard campaign use case.


Campaign Use Case Rejections

Error code

What it means

Correction needed

30910

Registration fields contain non-English language.

Provide English campaign registration content and translations for sample messages.

30911

Duplicate text was used across fields or sample messages.

Use unique descriptions and distinct sample messages.

30912

Use case appears personal or P2P, not A2P.

Explain what software or platform triggers the messages and how customers are served.

30916

Lead generation and lead nurture were mismatched.

Select the use case that matches the campaign purpose.

30928

Social influencer or public figure communications are not valid.

Register as a business entity and use a valid business use case.

30929

Emergency alerts are not permitted.

Contact support for alternatives.

30930

Brand reached the 100-campaign limit.

Deregister unused campaigns before resubmitting.

30886

Campaign description is unclear or mismatched.

Add a detailed, accurate campaign purpose.

30893

Sample messages are missing, unclear, or mismatched.

Add realistic sample messages with business name, use-case alignment, and bracketed variables where needed.

30892

Sample messages include a public shortener or non-secure URL.

Use full direct HTTPS URLs only.

30889

Embedded phone number setting does not match sample messages.

Add the embedded phone number to samples or update the embedded phone number selection.


Registration and Brand Rejections

Error code

What it means

Correction needed

30895

Direct lending campaign is missing direct lending attribute.

Select the direct lending or loan arrangement attribute, or update the campaign description if not applicable.

30898

Same EIN is used for multiple brands.

Register only the minimum required brands per EIN and update brand registration before resubmitting.

30995

Maximum Messaging Services phone number limit reached.

Contact support.


Rejection Codes Not Eligible for Resubmission

The codes in this section are tied to forbidden or high-risk messaging categories.

Do not resubmit the same campaign unless support confirms the rejection was made in error.


SHAFT Content Violations

Error code

Rejection category

What it means

30953

SHAFT – Sex

Adult or sexual content was included.

30954

SHAFT – Hate

Hate speech, profanity, violence, or similar content was included.

30955

SHAFT – Alcohol

Alcohol promotions were included.

30956

SHAFT – Alcohol Age Gate

Alcohol content was included without a robust 21+ age gate.

30957

SHAFT – Firearms

Firearms, fireworks, or explosives content was included.

30958

SHAFT – Tobacco / Vape

Tobacco, vape, or related product content was included.


Disallowed Content

Error code

What it means

30940

Cannabis, CBD, marijuana, or illegal substances.

30941

Prescription drugs or controlled substances.

30942

Loan marketing.

30943

Third-party debt collection.

30944

Gambling or betting.

30945

Sweepstakes or contests.

30946

Stock alerts or investment signals.

30947

Cryptocurrency trading or token promotions.

30948

High-risk investment opportunities.

30949

Debt reduction or consolidation services.

30950

Credit repair services.

30951

Third-party lead generation or MLM.

30952

Non-federally compliant use case.


High-Risk Rejections

Error code

What it means

30959

Fraudulent or misleading content detected.

30960

Known phishing campaign detected.

30961

Website or URL has high-risk domain reputation.

30962

Deceptive marketing practices detected.

30963

Public URL shorteners were used.

30964

HTTP URLs were used instead of HTTPS.


Legacy Rejection Codes

These older codes may still appear on older rejections.

Error code

Rejection category

What it means

30882

Terms & Conditions

Campaign does not meet carrier terms.

30883

Content Violation – SHAFT

Restricted SHAFT content was included.

30884

Spam / Phishing

Number, business, or traffic was flagged for spam or phishing.

30885

High Risk

Fraud, deceptive marketing, or third-party data sharing was flagged.

30897

Disallowed Content

Disallowed content or third-party data sharing was detected.


Common Issues and Fixes

The campaign has multiple rejection reasons

Fix every rejection reason listed. Resubmitting after only fixing one issue can result in another rejection.

The campaign was rejected for an invalid website URL

Verify the submitted website is live and accessible. If the site is pre-launch, add clear pre-launch context and provide supporting screenshots.

The campaign was rejected for CTA or message flow

Provide a complete explanation of how users opt in. Include every opt-in method selected in the registration.

The rejection code is not eligible for resubmission

Do not resubmit the same campaign. Contact support if you believe the rejection was incorrect.

FAQ

Can I resubmit immediately after making corrections?

Yes, if the rejection code is eligible for resubmission. Fix all listed issues first, then resubmit the campaign.

Do I need to fix every rejection reason?

Yes. Every rejection reason must be corrected before resubmission.

Can I appeal an ineligible rejection?

Yes. Contact support and include the full campaign details, rejection code, and reason you believe the rejection was incorrect.

What should I do if the campaign is rejected again?

Review the new rejection reasons. Carriers may identify additional issues during later reviews. Contact support if the campaign appears compliant but continues to be rejected.

Did this answer your question?