v4
OpenAPI 3.1.02026-08-0255174167.5 KBSubmit 10DLC registration
Register a US number for 10DLC — the carrier registration required before a number can send SMS or MMS to US phone numbers.
US carriers block outbound SMS and MMS sent from an unregistered 10-digit number to a US phone number. Registering this number lifts that block. Inbound texts, voice calls in either direction, and messaging to numbers outside the US are unaffected.
Eligibility. The number must be US, have the sms capability, and not have the imessage capability (iMessage numbers send over Apple Messages for Business, not carrier SMS). 10DLC registration is currently offered on pay-as-you-go accounts only. An ineligible number returns 403 — read the tenDlc object on the number to know in advance.
Fee. A one-time $25.00 per number, taken from the account's credit balance when the submission is accepted. A balance below the fee returns 402. Resubmitting after a rejection is free — the number is charged at most once, ever.
What happens next. The submission lands in in_review while Dial checks the details, moves to with_carrier once filed with the carrier registry, and finishes as approved or rejected. Carriers usually decide within 3–5 business days. Dial emails the account owner on approval and on rejection; a rejection carries a reason explaining exactly what to change before resubmitting.
Body. application/json, in two parts mirroring what the carrier registry registers: a brand (who is registering) and a campaign (what they send). A number is registered by joining the campaign.
Brand — both kinds
Every field is required.
| Key | Description |
|---|---|
| brandName | The registered business or DBA name; for a sole proprietor, the name they trade under. Carriers reject an account id or an email address here. |
| firstName, lastName | The person responsible for the registration. |
| Contact email. | |
| phone | Mobile number in E.164. For a sole proprietor this receives a verification SMS — reply YES within 24 hours. It may not be a Dial number: carriers won't verify a number issued by a messaging provider, so use a mobile the person answers directly. |
| street, city, zip | The address on the registration. Validated against public records, so a typo is a rejection. |
| country | ISO 3166-1 alpha-2. Sole proprietor: US or CA only — that programme is US/Canada-only. A business may be registered from any country the registry accepts; a non-US brand needs its own country's tax ID and may draw extra vetting. Defaults to US. |
| state | State or province of the registered address — required whatever the country. The two-letter code for the US and Canada (CA, ON); the region name elsewhere. |
Brand — business only
| Key | Description |
|---|---|
| businessType | Legal form. One of Co-operative, Corporation, Limited Liability Corporation, Non-profit Corporation, Partnership. A sole proprietorship is not a business brand — register as sole_proprietor instead. |
| businessIndustry | Industry code, e.g. PROFESSIONAL_SERVICES. See the enum. |
| registrationIdType | The kind of registration number. One of EIN, DUNS, CBN, CN, ACN, CIN, VAT, VATRN, RN, Other. |
| registrationNumber | The number itself — in the US, the EIN. |
| websiteUrl | Full https:// URL. Reviewers check that it matches the brand. |
| jobPosition | One of Director, GM, VP, CEO, CFO, General Counsel, Other. |
| businessTitle | The actual job title, free text, e.g. Head of Support. |
| businessRegionsOfOperation | Where the business operates. One of USA_AND_CANADA, AFRICA, ASIA, EUROPE, LATIN_AMERICA. Defaults to USA_AND_CANADA. |
| companyType | One of private, public, non-profit, government. Defaults to private. |
| stockExchange, stockTicker | Required when companyType is public, ignored otherwise. Carriers check both against public sources, so they must match. |
Campaign — both kinds
| Key | Description |
|---|---|
| description | Who is messaged and why. 40–4096 characters. Reviewers weigh this heavily; a single word is rejected. |
| messageFlow | How people opt in, naming every method used. 40–2048 characters. |
| samples | Two to five sample messages, each 20–1024 characters. Each must name the brand and carry an opt-out instruction. If only one message text will ever be sent, repeat it. |
| containsUrls, containsPhones | Booleans — whether messages will contain links or phone numbers. Optional; default false. |
| privacyPolicyUrl, termsUrl | Full https:// URLs — carriers require both on every campaign. Required for a business, and reviewers check they sit on the websiteUrl you registered. Optional for a sole proprietor: omit them and Dial publishes a privacy notice and terms page for the brand, built from this submission, and registers those. Supplying your own always wins. |
Campaign — business only
| Key | Description |
|---|---|
| useCase | What the campaign is for, e.g. CUSTOMER_CARE. Optional; defaults to MIXED. A sole proprietor campaign is always SOLE_PROPRIETOR and takes no value here. |
Campaign — sole_proprietor only
| Key | Description |
|---|---|
| acceptPublishedNotice | Boolean. Required when you send neither privacyPolicyUrl nor termsUrl — it authorises Dial to publish a privacy notice and terms page for your brand, built from this submission and naming you as the operator, and to register those URLs with carriers. Send your own two URLs instead and this field is ignored. Sending neither the URLs nor true here is a 400 — tendlc_validation_failed, keyed on acceptPublishedNotice — because carriers require the two pages and one of you has to provide them. |
Path parameters
Headers
Your Dial API key, sent as Authorization: Bearer sk_live_...
Request body
Response
Submitted, and the fee charged unless this was a free resubmission.