Skip to main content

10DLC Registration

10DLC (10-Digit Long Code) is the US carrier-mandated system for sending Application-to-Person (A2P) SMS messages using standard 10-digit phone numbers. All businesses sending SMS to US numbers must register through 10DLC to ensure deliverability and compliance.

Overview

US carriers (T-Mobile, AT&T, Verizon) require 10DLC registration for A2P messaging. Unregistered traffic faces:
  • Aggressive filtering — messages silently blocked
  • Higher fees — per-message surcharges for unregistered senders
  • Low throughput — limited to ~1 message/second vs. 75+ when registered
Orbit handles the registration process through The Campaign Registry (TCR).

Registration Steps

Step 1: Register Your Brand

Create a brand identity that represents your organization.
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/10dlc/brand \
  -H "X-API-Key: dv_live_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_type": "PRIVATE_PROFIT",
    "display_name": "Acme Corp",
    "company_name": "Acme Corporation Inc.",
    "ein": "12-3456789",
    "phone": "+14155551234",
    "street": "1 Market St",
    "city": "San Francisco",
    "state": "CA",
    "postal_code": "94105",
    "country": "US",
    "email": "compliance@acme.com",
    "website": "https://acme.com",
    "vertical": "TECHNOLOGY"
  }'
entity_type must be one of PRIVATE_PROFIT, PUBLIC_PROFIT, NON_PROFIT, GOVERNMENT, or SOLE_PROPRIETOR. display_name, company_name, phone, street, city, state, postal_code, and email are required; ein and website are optional. Response (201 Created):
{
  "data": {
    "brandId": "BXXXXXX",
    "status": "PENDING"
  },
  "meta": {
    "request_id": "req_abc123",
    "timestamp": "2026-03-08T12:00:00Z"
  }
}
Brand vetting typically completes within 24–48 hours.

Step 2: Create a Campaign

Register the specific use case for your messaging.
curl -X POST https://api.orbit.devotel.io/api/v1/compliance/10dlc/campaign \
  -H "X-API-Key: dv_live_sk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "brand_id": "BXXXXXX",
    "usecase": "CUSTOMER_CARE",
    "description": "Sending order updates and support responses to customers who opted in on our website checkout form.",
    "sample_message": [
      "Your order #12345 has shipped! Track at https://acme.com/track/12345",
      "Hi! Your support ticket #567 has been resolved. Reply STOP to unsubscribe."
    ],
    "message_flow": "Customers opt in via a web form at checkout and confirm consent. They can reply STOP at any time to opt out.",
    "help_message": "Reply HELP for assistance or contact support@acme.com.",
    "optout_message": "You have been unsubscribed and will receive no further messages."
  }'
description must be at least 40 characters, message_flow at least 40, and both help_message and optout_message at least 20. sample_message is an array of 1–10 representative messages. Political-vertical campaigns (usecase of POLITICAL_ADVOCACY or POLLING_AND_VOTING, or is_political: true) additionally require a Campaign Verify cv_token. Response (201 Created):
{
  "data": {
    "campaignId": "CXXXXXX",
    "status": "PENDING"
  },
  "meta": {
    "request_id": "req_def456",
    "timestamp": "2026-03-08T12:05:00Z"
  }
}

Step 3: Wait for Approval

Campaign review takes 1–5 business days. You can check status:
curl https://api.orbit.devotel.io/api/v1/compliance/10dlc/campaigns/CXXXXXX/status \
  -H "X-API-Key: dv_live_sk_your_key_here"
Response:
{
  "data": {
    "campaignId": "CXXXXXX",
    "status": "APPROVED",
    "brandId": "BXXXXXX",
    "mnoStatuses": {
      "10017": "APPROVED",
      "10035": "APPROVED",
      "10095": "REVIEW"
    },
    "provider": "telnyx"
  },
  "meta": {
    "request_id": "req_ghi789",
    "timestamp": "2026-03-09T09:00:00Z"
  }
}
The top-level status is the CSP-level decision. mnoStatuses is the per-carrier approval map (keys are MNO carrier ids — e.g. 10017 T-Mobile, 10035 AT&T, 10095 Verizon); a campaign can be APPROVED at the CSP level while still in REVIEW at an individual carrier. Statuses:
StatusDescription
PENDINGSubmitted, awaiting carrier review
APPROVEDApproved — you can start sending
FAILEDRejected — see rejectionReason for details

Step 4: Start Sending

Once approved, messages sent from registered numbers receive full 10DLC throughput and deliverability.

Use Case Types

Use CaseDescriptionThroughput
customer_careSupport, account alerts75 msg/sec
marketingPromotions, offers75 msg/sec
notificationsTransactional alerts75 msg/sec
two_factor_authOTP/2FA codes75 msg/sec
account_notificationsAccount changes, billing75 msg/sec
delivery_notificationsShipping, delivery updates75 msg/sec
mixedMultiple use cases15 msg/sec
low_volumeUnder 6,000 msg/month1 msg/sec

Vetting Scores

Your brand vetting score (0–100) affects throughput limits:
ScoreThroughput
75–100Maximum (75 msg/sec per campaign)
50–74Medium (15 msg/sec)
1–49Low (4 msg/sec)
Improve your vetting score by providing complete, accurate brand information including EIN, website, and stock symbol (if public).

Compliance Requirements

  1. Opt-in consent. You must have explicit consent from every recipient before sending.
  2. Opt-out handling. Honor STOP requests immediately. Orbit automatically processes STOP, CANCEL, and UNSUBSCRIBE.
  3. Message content. Sample messages must be representative of actual traffic.
  4. Consistent use. Only send messages that match your registered campaign use case.

Dashboard Registration

You can also complete the entire 10DLC registration through the Orbit dashboard:
  1. Navigate to Settings > Compliance > 10DLC
  2. Click Register Brand and fill in your company details
  3. Once the brand is approved, click Create Campaign
  4. Select your use case, add sample messages, and assign numbers
  5. Submit for carrier review

Troubleshooting

IssueSolution
Brand rejectedVerify your EIN matches IRS records exactly
Campaign rejectedEnsure sample messages match the selected use case and include opt-out language
Low vetting scoreProvide complete brand info (website, stock symbol, full legal name)
Messages still filteredConfirm the campaign status is approved and numbers are assigned
Sending high-volume SMS without 10DLC registration may result in carrier filtering, message blocking, and potential number suspension.