Submit an A2P 10DLC registration to enable outbound SMS on your account.
US carriers require 10DLC registration before your AI agent can send text messages. This endpoint accepts both `sole_proprietor` and `standard_brand` registration types.
### How it works
1. Submit your registration details via this endpoint
2. A one-time $25 registration fee is deducted from your account balance
3. We submit your registration to the carriers on your behalf
4. Carrier approval typically takes 7-10 business days
### Registration types
- **`sole_proprietor`** -- For individuals or small businesses. Simpler requirements, fewer fields.
- **`standard_brand`** -- For established businesses. Requires `business_name`, `organization_type`, `ein`, `privacy_policy_url`, `terms_of_service_url`.
### Sub-accounts
Parent accounts can set `create_sub_account: true` (the default) to create a dedicated sub-account for each registration. This lets you manage multiple campaigns independently. The $25 fee is always charged to the parent account.
### Opt-in image
`opt_in_image_url` must be a publicly accessible HTTPS URL to a screenshot showing how users opt in to receive messages from you (e.g. a consent checkbox on your signup form). Supports PNG, JPG, WEBP, and GIF up to 2MB. Google Drive links (`drive.google.com/file/d/.../view`) are automatically converted if the file is shared publicly.
### Re-submitting
If your previous registration was rejected, you can call this endpoint again to re-register.
Request
This endpoint expects an object.
registration_typeenumRequired
‘sole_proprietor’ or ‘standard_brand’
phone_numberstringRequired
E.164 format, e.g. +15551234567
street_addressstringRequired
descriptionstringRequired40-4096 characters
What your business does, who you message, and what types of messages you send. Min 40 chars.
use_caseslist of enumsRequired
1-5 specific use cases for your SMS campaign.
message_sampleslist of stringsRequired
2-5 example messages. Each must be 20-1024 chars and include your brand name.
consent_flowstringRequired40-4096 characters
How users opt in to receive messages. Min 40 chars.
opt_in_image_urlstringRequired
Publicly accessible URL to a screenshot of your opt-in flow (PNG, JPG, WEBP, or GIF, max 2MB)
business_namestring or nullOptional
Legal/registered business name. Required for standard_brand.
brand_namestring or nullOptional
Public-facing brand name if different from business_name.
organization_typeenum or nullOptional
Required for standard_brand.
contact_titleenum or nullOptional
Your role. Required for standard_brand.
contact_title_otherstring or nullOptional
Custom title when contact_title is ‘other’.
einstring or nullOptional
EIN / Tax ID. Required for standard_brand.
website_urlstring or nullOptional
industrystring or nullOptional
e.g. technology, real_estate, retail, healthcare
business_regionslist of stringsOptionalDefaults to ["usa_and_canada"]
street_address_2string or nullOptional
countrystringOptionalDefaults to US
planned_numbersintegerOptionalDefaults to 1
Number of phone numbers you plan to use
volumeenumOptionalDefaults to low
Expected message volume.
privacy_policy_urlstring or nullOptional
Required for standard_brand.
terms_of_service_urlstring or nullOptional
Required for standard_brand.
includeslist of enumsOptionalDefaults to []
Content types included in messages.
link_samplestring or nullOptional<=255 characters
Example URL if messages contain links.
create_sub_accountbooleanOptionalDefaults to true
Create a dedicated sub-account for this campaign. Set false to register on your main account.
Response
Successful Response
sub_account_idstring or null
fee_centsintegerDefaults to 2500