---
title: "Get 10DLC registration"
method: GET
path: "/api/v1/numbers/{id}/10dlc"
tags: ["phoneNumbers"]
---

# Get 10DLC registration

`GET /api/v1/numbers/{id}/10dlc`

Returns this number's 10DLC registration: the brand (who is registering) and the campaign (what they send), exactly as submitted.
A number's registration status is also available — without the submitted details — as the `tenDlc` object on the phone number itself.

## Path parameters

- `id` string, required

## Headers

- `Authorization` string, required

## Response `200`

The registration.

- PhoneNumbersGetTenDlcRegistrationResponse200
  - `registration` TenDlcRegistration — A number's 10DLC registration — the brand, the campaign, and where the registration stands. Returned by Get and Submit 10DLC registration.
    - `phoneNumberId` string, required
    - `status` 'in_review' | 'with_carrier' | 'approved' | 'rejected', required — Where the registration stands. Unlike the `tenDlc` summary on a phone number, this object only exists once something has been submitted, so `not_registered` never appears here.
    - `kind` 'sole_proprietor' | 'business', required — Who the number is registered as. A sole proprietor operates under their own name and has no EIN — lower throughput, quicker to approve. A business is a registered company with an EIN.
    - `brand` TenDlcBrand, required — Who is registering — the business identity carriers vet. The `business`-only fields are absent on a sole proprietor registration.
      - `brandName` string, required — The registered business or DBA name; for a sole proprietor, the name they trade under. Carriers reject an account id or an email address.
      - `firstName` string, required
      - `lastName` string, required
      - `email` string, email, required
      - `phone` string, required — Mobile number in **E.164** — it must carry its country code, because a brand registered outside the US would otherwise be guessed at. For a sole proprietor this receives the carrier's verification SMS, answered by replying `YES` within 24 hours. It may not be a Dial number — carriers won't verify a number issued by a messaging provider.
      - `street` string, required
      - `city` string, required
      - `state` string, required — State or province of the registered address, required whatever the country. The two-letter code for the US and Canada; the region name elsewhere.
      - `zip` string, required
      - `country` string, required — ISO 3166-1 alpha-2 country code of the registered address, defaulting to `US`. The NUMBER being registered is always US — that is what 10DLC is — but the business need not be. A **business** may be registered from any country the registry accepts, with its own country's tax ID in `registrationNumber` (a non-US brand may draw additional vetting). A **sole proprietor** must be in the US or Canada, so only `US` and `CA` are accepted for that kind.
      - `businessType` 'Co-operative' | 'Corporation' | 'Limited Liability Corporation' | 'Non-profit Corporation' | 'Partnership' — `business` only. The legal form. A sole proprietorship is not a business brand — register as `sole_proprietor` instead.
      - `businessIndustry` 'AGRICULTURE' | 'AUTOMOTIVE' | 'BANKING' | 'CONSTRUCTION' | 'CONSUMER' | 'EDUCATION' | 'ELECTRONICS' | 'ENGINEERING' | 'ENERGY' | 'FAST_MOVING_CONSUMER_GOODS' | 'FINANCIAL' | 'FINTECH' | 'FOOD_AND_BEVERAGE' | 'GOVERNMENT' | 'HEALTHCARE' | 'HOSPITALITY' | 'INSURANCE' | 'JEWELRY' | 'LEGAL' | 'MANUFACTURING' | 'MEDIA' | 'NOT_FOR_PROFIT' | 'OIL_AND_GAS' | 'ONLINE' | 'PROFESSIONAL_SERVICES' | 'RAW_MATERIALS' | 'REAL_ESTATE' | 'RELIGION' | 'RETAIL' | 'TECHNOLOGY' | 'TELECOMMUNICATIONS' | 'TRANSPORTATION' | 'TRAVEL' — `business` only.
      - `vertical` 'AGRICULTURE' | 'COMMUNICATION' | 'CONSTRUCTION' | 'EDUCATION' | 'ENERGY' | 'ENTERTAINMENT' | 'FINANCIAL' | 'GAMBLING' | 'GOVERNMENT' | 'HEALTHCARE' | 'HOSPITALITY' | 'HUMAN_RESOURCES' | 'INSURANCE' | 'LEGAL' | 'MANUFACTURING' | 'NGO' | 'POLITICAL' | 'POSTAL' | 'PROFESSIONAL' | 'REAL_ESTATE' | 'RETAIL' | 'TECHNOLOGY' | 'TRANSPORTATION' — `sole_proprietor` only, and required. The trade the brand operates in. This is the sole proprietor's counterpart to `businessIndustry`, but **the two take different values** — the registry validates them against separate vocabularies. `PROFESSIONAL` here is `PROFESSIONAL_SERVICES` there, and several industries have no vertical at all (`TRAVEL`, `MEDIA`, `TELECOMMUNICATIONS`, `RELIGION`, `ONLINE`, `NOT_FOR_PROFIT`, `AUTOMOTIVE`, `BANKING`). Send a value from this list, not from `businessIndustry`'s.
      - `registrationIdType` 'EIN' | 'DUNS' | 'CBN' | 'CN' | 'ACN' | 'CIN' | 'VAT' | 'VATRN' | 'RN' | 'Other' — `business` only. Which registration number follows.
      - `registrationNumber` string — `business` only. In the US, the EIN.
      - `websiteUrl` string — `business` only. Reviewers check it matches the brand.
      - `jobPosition` 'Director' | 'GM' | 'VP' | 'CEO' | 'CFO' | 'General Counsel' | 'Other' — `business` only. The representative's role.
      - `businessTitle` string — `business` only. The actual job title, free text.
      - `businessRegionsOfOperation` 'USA_AND_CANADA' | 'AFRICA' | 'ASIA' | 'EUROPE' | 'LATIN_AMERICA' — `business` only. Where the business operates.
      - `companyType` 'private' | 'public' | 'non-profit' | 'government' — `business` only.
      - `stockExchange` 'NASDAQ' | 'NYSE' | 'AMEX' | 'AMX' | 'ASX' | 'B3' | 'BME' | 'BSE' | 'FRA' | 'ICEX' | 'JPX' | 'JSE' | 'KRX' | 'LON' | 'NSE' | 'OMX' | 'SEHK' | 'SGX' | 'SSE' | 'STO' | 'SWX' | 'SZSE' | 'TSX' | 'TWSE' | 'VSE' | 'OTHER' — `business` only, and required when `companyType` is `public`. Carriers check it against public sources.
      - `stockTicker` string — `business` only, and required when `companyType` is `public`.
    - `campaign` TenDlcCampaign, required — What the number sends — the use case carriers approve. A sole proprietor registration's use case is always `SOLE_PROPRIETOR`, and its policy URLs are the ones Dial publishes unless it supplied its own.
      - `useCase` 'MIXED' | 'MARKETING' | 'CUSTOMER_CARE' | '2FA' | 'ACCOUNT_NOTIFICATION' | 'DELIVERY_NOTIFICATION' | 'FRAUD_ALERT' | 'SECURITY_ALERT' | 'HIGHER_EDUCATION' | 'POLLING_VOTING' | 'PUBLIC_SERVICE_ANNOUNCEMENT' | 'SOLE_PROPRIETOR', required — What the campaign is for. Optional on submit for a `business`, defaulting to `MIXED`. Always `SOLE_PROPRIETOR` for a sole proprietor, which takes no value on submit.
      - `description` string, required — Who is messaged and why. Reviewers weigh this heavily — a single word like "Marketing" is rejected.
      - `messageFlow` string, required — How people opt in. If more than one method is used, all must be named. Room above 1920 characters is reserved for compliance material Dial appends when filing with the carrier registry.
      - `samples` string[], required — Sample messages. Each must name the brand and carry an opt-out instruction. If only one message text will ever be sent, repeat it — carriers require at least two.
      - `privacyPolicyUrl` string — The privacy policy registered with the campaign. Your own if you gave one; otherwise, for a sole proprietor, the notice Dial publishes for the brand.
      - `termsUrl` string — The terms registered with the campaign — your own, or the page Dial publishes for a sole proprietor who gave none.
      - `containsUrls` boolean, required — Whether messages will contain links. Defaults to false.
      - `containsPhones` boolean, required — Whether messages will contain phone numbers. Defaults to false.
      - `acceptPublishedNotice` boolean — Accepted on submit, never returned. Required on a sole proprietor campaign that sends neither `privacyPolicyUrl` nor `termsUrl`: it authorises Dial to publish those two pages for the brand and register them. Ignored when you send your own URLs.
      - `optInImage` unknown
      - `optInImageUrl` string, nullable — Where the submitted opt-in screenshot is hosted — the image carrier reviewers see. `null` when none was attached.
    - `feeCents` integer, required — The one-time registration fee charged for this number, in USD cents.
    - `reason` string, nullable, required — What needs to change. Non-null only when `status` is `rejected`.
    - `submittedAt` string, date-time, required
    - `reviewedAt` string, date-time, nullable, required — When the registration was approved or rejected; null until then.

## Other responses

- `401` — Missing or invalid API key.
- `403` — 10DLC registration isn't available here. Either it doesn't apply to this number — it isn't US, or it has the `imessage` capability (error code `tendlc_not_applicable`) — or the account isn't pay-as-you-go and has no existing registration for the number (error code `tendlc_not_available`). The `tenDlc` object on the phone number is null in both cases.
- `404` — No registration has been submitted for this number, or the number doesn't exist on this account.

---

[API](https://skmtc.net/getdial/apis/rest-api.md) · [All operations](https://skmtc.net/getdial/apis/rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getdial/rest-api/versions/cfa621230237/schema)
