SMS registration and activation
SMS to US destinations requires an approved messaging campaign. Number activation is a separate check and depends on the sending line and account. Non-US destinations may be available without US campaign approval on some lines; a Canadian sending number alone does not determine the requirement. This guide covers US registration and how to inspect line readiness. Inbound SMS can be tested before approval. iMessage and WhatsApp use different onboarding paths.
1. Choose the account and registration
Open the registration form, or use POST /v1/register from your backend.
Fees draw from the billing balance. Prepare accurate business/contact information, your messaging use case, sample messages, consent flow, and a public image of the opt-in flow. EIN business registrations also need business details and policy URLs. Use the API reference for the complete schema.
POST /v1/register defaults to create_sub_account: true for parent accounts. Save the returned sub_account_id, and create numbers and agents in that scope. Set create_sub_account: false only when you intend to register your main account. A campaign on one account does not activate unrelated numbers in another.
2. Track review and required changes
Omit the sub-account header when registering on the main account. Read campaign_status, stage, and issue when present. Stages can include received, verifying_business, registering_campaign, carrier_review, provisioning, complete, and action_required. Review time depends on the registration and carrier; submitting the form is not approval.
If an issue needs attention, inspect GET /v1/register and follow the returned explanation. PATCH /v1/register updates an existing registration without a new submission fee; changes go through review. Do not submit another paid registration just to check status or edit a field.
3. Check the exact number
Approved registration but sending is blocked
Account approval and number activation are different checks. Fetch the number you intend to send from, using the same API key and sub-account header:
A newly activated number can briefly receive carrier error 4773 while routing catches up. If the original message has definitively failed for that reason, retry once after about 30 seconds. Persistent failures need support, not repeated purchases or registrations.
4. Test delivery and plan volume
Send to a consenting mobile recipient, identify your business, and include the opt-out language appropriate to your campaign. A successful send response confirms acceptance; read message history for delivery status and failureReason.
Use Messaging rate limits to plan throughput and segmentation. For accepted-but-undelivered messages or an approved campaign that still cannot send, follow Troubleshooting.

