Skip to navigation

Register A2P

Submit an SMS registration. Standard one-time fees are $25 for sole_proprietor or standard_brand and $70 for high_volume. Carrier review and number attachment must complete before outbound SMS is ready. Parent-account requests create a dedicated sub-account by default: save sub_account_id and use X-Sub-Account-Id for that campaign’s agents, numbers, and status. High-volume registration requests vetting; assigned capacity varies. Use PATCH /v1/register to correct an existing submission without another registration fee. See SMS registration for the workflow and troubleshooting.

Authentication

AuthorizationBearer

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

Headers

X-Sub-Account-IdstringOptional

Request

This endpoint expects an object.
registration_typeenumRequired

sole_proprietor ($25) for individuals without an EIN, standard_brand ($25) for EIN businesses with lighter volume, or high_volume ($70) for EIN businesses sending at scale with third-party brand vetting.

Allowed values:
first_namestringRequired

Your first name (or business contact’s first name).

last_namestringRequired

Your last name (or business contact’s last name).

emailstringRequired
Contact email address.
phone_numberstringRequired

Contact phone number in E.164 format (e.g. +15551234567).

street_addressstringRequired
Street address of the individual or business.
citystringRequired
City of the individual or business.
statestringRequired

US state abbreviation (e.g. CA, NY).

zip_codestringRequired

ZIP code (e.g. 94105).

descriptionstringRequired40-4096 characters

What your business does, who you message, and what types of messages you send. 40-4096 characters.

use_caseslist of enumsRequired

1-5 specific use cases: customer_care, account_notification, delivery_notification, fraud_alert, higher_education, marketing, polling_voting, public_service_announcement, security_alert, two_factor_authentication.

message_sampleslist of stringsRequired

2-5 example messages you would send. Each 20-1024 chars, include your brand name. Include opt-out language like ‘Reply STOP to unsubscribe’ in at least one.

consent_flowstringRequired40-4096 characters

How users opt in to receive messages. 40-4096 characters.

opt_in_image_urlstringRequired

Publicly accessible HTTPS URL to a screenshot of your opt-in flow (PNG, JPG, WEBP, or GIF, max 2MB). Google Drive sharing links are supported.

business_namestring or nullOptional

Legal/registered business name. Required for standard_brand and high_volume.

brand_namestring or nullOptional

Public-facing brand name if different from business_name.

organization_typeenum or nullOptional

Business structure: sole_proprietor, private_corporation, public_corporation, llc, partnership, non_profit, co_op, government. Required for standard_brand and high_volume.

contact_titleenum or nullOptional

Your role: ceo, cfo, cto, coo, vp, gm, director, other. Required for standard_brand and high_volume.

contact_title_otherstring or nullOptional

Custom title when contact_title is other.

einstring or nullOptional

EIN / Tax ID number. Required for standard_brand and high_volume.

website_urlstring or nullOptional
Business website URL.
industrystring or nullOptional

Industry category (e.g. technology, real_estate, retail, healthcare).

business_regionslist of stringsOptionalDefaults to ["usa_and_canada"]

Regions where the business operates. Defaults to ["usa_and_canada"].

street_address_2string or nullOptional
countrystringOptionalDefaults to US
Country code for the registration address. See the request schema and registration form for accepted values.
planned_numbersintegerOptionalDefaults to 1

Number of phone numbers you plan to use. Defaults to 1. sole_proprietor campaigns are limited to 1 number.

volumeenumOptionalDefaults to low

Expected message volume: low (default) or high.

Allowed values:
privacy_policy_urlstring or nullOptional

URL to your privacy policy. Required for standard_brand and high_volume.

terms_of_service_urlstring or nullOptional

URL to your terms of service. Required for standard_brand and high_volume.

includeslist of enumsOptionalDefaults to []

Content types in messages: links, phone_numbers, age_gated, direct_lending. Defaults to [].

Allowed values:
create_sub_accountbooleanOptionalDefaults to true

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

Response

Successful Response
okboolean
messagestring
campaign_statusstring
fee_centsinteger
sub_account_idstring or nullOptional

Errors

422
Unprocessable Entity Error