Register A2P

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.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Request

This endpoint expects an object.
registration_typeenumRequired

‘sole_proprietor’ or ‘standard_brand’

first_namestringRequired
last_namestringRequired
emailstringRequired
phone_numberstringRequired

E.164 format, e.g. +15551234567

street_addressstringRequired
citystringRequired
statestringRequired
zip_codestringRequired
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.
create_sub_accountbooleanOptionalDefaults to true

Create a dedicated sub-account for this campaign. Set false to register on your main account.

Response

Successful Response
okboolean
messagestring
campaign_statusstring
sub_account_idstring or null
fee_centsintegerDefaults to 2500

Errors

422
Unprocessable Entity Error