Skip to main content
Registering who you are and what you send is part of sending application-to-person (A2P) messages. US carriers filter and block A2P traffic from unregistered numbers, and Indian operators only pass commercial SMS that carries valid DLT identifiers. Vobiz exposes the registration flows as API resources and in the console under SMS & RCS → Registration, so you can complete them from code or from the dashboard.
Building with code? Registration runs entirely through the Messaging API - see the registration endpoints.

US 10DLC brands

Register your business with the US 10DLC registry.

US 10DLC campaigns

Describe your use case, attach local numbers, go live.

US toll-free verification

Verify 8XX numbers without a brand record.

India DLT

Pass your TRAI DLT entity, header and template IDs on every message.

Why registration matters

  • United States. Carriers require every business sending to US mobile numbers to be known to the 10DLC registry (for local numbers) or verified (for toll-free numbers). Traffic from numbers with no registration is filtered, and the message record ends in status: failed with a carrier error code.
  • India. TRAI requires commercial SMS to carry a registered Principal Entity ID, sender header and template ID. Operators reject messages whose content does not match a registered template.
  • Everywhere else. Requirements vary by country. Check the registration fields on GET /coverage/{country} before you send to a new destination.

Which path applies to your number

The Numbers guide explains how a number’s registration object tells you which path it is on and how far along it is.

Registration checklist

Reviewers check that the business is real, that recipients agreed to receive messages, and that the message content matches what you declared. Have the following ready before you create a brand or campaign:
  • A live website on the domain you declare in website, with a reachable privacy policy and terms of service. The URLs you pass in privacyPolicyUrl and termsAndConditionsUrl must open.
  • Legal identity. The exact legal name, the tax ID (EIN for US companies, or the equivalent for your country of registration), the issuing country and the registered address. The values must match the official records for the entity.
  • A clear opt-in flow. Where and how a person gives consent: a web form with an unchecked SMS consent checkbox, a keyword, a verbal script or a paper form. Keep screenshots of the form and the exact consent text. You describe this in optIns and can upload images as supporting documents.
  • Sample messages that look like what you will send. Each sample should start with your brand name and include opt-out language such as “Reply STOP to opt out, HELP for help”.
  • Keyword responses. The text you send back on STOP (stopMessage), HELP (helpMessage) and after opt-in (confirmationMessage).
  • A support contact. A monitored email (customerCareEmail) and phone number (customerCarePhone).
Review is carried out by the US 10DLC registry and the carriers, not by Vobiz. It takes time, and the time varies with the brand type, the use case and the reviewer’s queue. Submit early, before you need to send.

How review works

1

Create the record

POST /10dlc/brands, POST /10dlc/campaigns or POST /10dlc/campaigns/toll-free stores a draft on your account. Nothing is submitted yet, so you can correct fields with PUT.
2

Register

POST .../register submits the record to the registry. The stage moves from DRAFT to SUBMITTED (brands) or into the review stages (campaigns).
3

Wait and poll

Poll the status endpoints below, or subscribe to 10dlc.brand.updated and 10dlc.campaign.updated on the WebSocket to be told when something changes.
4

Act on the result

Approved: add numbers and send. Rejected: read rejectionReasons, fix the record, and register again or appeal.

Tracking status

Every number on GET /numbers carries a registration object that summarises the campaign it is attached to:
registration.kind is 10dlc, toll_free or none.

Common rejection reasons and fixes

The reviewer could not see how a recipient agrees to receive messages. Describe the flow precisely in optIns (URL and the exact call-to-action text), upload a screenshot of the consent form with POST /10dlc/documents and reference it in supportingDocuments. For toll-free, put the screenshot URLs in optInImageURLs.
Every entry in exampleMessages should begin with your brand name and end with opt-out instructions, for example Acme: Your order #1234 has shipped. Reply STOP to opt out.
The domain in website, the brand name on the site and the legal name on the tax record should refer to the same business. If you trade under a different name, put it in businessDba and keep legalName as registered.
vertical should describe the business, not the message content. taxId and taxIdIssuingCountry must match the official registration exactly. A mismatch leaves brandIdentityStatus unverified and blocks campaign approval.
privacyPolicyUrl and termsAndConditionsUrl must resolve to pages that state how you handle phone numbers and that you do not share them with third parties for marketing.
A campaign cannot be approved while its brand is still pending or rejected. Fix the brand first, confirm registrationStatus is ACTIVE, then register the campaign again.

Next steps

Register a 10DLC brand

Start here for US local numbers.

Numbers

Buy numbers and read their registration state.

Error reference

Status codes and the providerError diagnostic.

WebSocket events

Live 10dlc.brand.updated and 10dlc.campaign.updated events.

Build it with the Messaging API

Messaging API overview

Base URL, authentication and every endpoint.

Send your first SMS

Send once your number is registered.

Registration endpoints

Brands, campaigns, toll-free and documents by API.

Errors

Registry rejections and how they surface.